summaryrefslogtreecommitdiff
path: root/src/tests/testcipher.cpp
diff options
context:
space:
mode:
authorHuynh Tran <nthuynh75@gmail.com>2005-06-21 22:43:23 +0000
committerHuynh Tran <nthuynh75@gmail.com>2005-06-21 22:43:23 +0000
commit460a5bb2a9f57ddf9dbbd7095452c3c4fc660d65 (patch)
treeababb79e615ec1e2fcd82a4d2ddd1520c7c9179d /src/tests/testcipher.cpp
parent270163b535f64f2fd6baa32d8a76ecc1c5526539 (diff)
downloadmanaserv-460a5bb2a9f57ddf9dbbd7095452c3c4fc660d65.tar.gz
manaserv-460a5bb2a9f57ddf9dbbd7095452c3c4fc660d65.tar.bz2
manaserv-460a5bb2a9f57ddf9dbbd7095452c3c4fc660d65.tar.xz
manaserv-460a5bb2a9f57ddf9dbbd7095452c3c4fc660d65.zip
Reorganized unit tests and initial release of the unit tests for the Storage class (to be completed).
Diffstat (limited to 'src/tests/testcipher.cpp')
-rw-r--r--src/tests/testcipher.cpp154
1 files changed, 154 insertions, 0 deletions
diff --git a/src/tests/testcipher.cpp b/src/tests/testcipher.cpp
new file mode 100644
index 00000000..0c40fdf9
--- /dev/null
+++ b/src/tests/testcipher.cpp
@@ -0,0 +1,154 @@
+/*
+ * The Mana World Server
+ * Copyright 2004 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * The Mana World is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or any later version.
+ *
+ * The Mana World is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with The Mana World; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Id$
+ */
+
+
+#include <string>
+
+#include "../utils/cipher.h"
+#include "testcipher.h"
+
+
+// register the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION(CipherTest);
+
+
+using namespace tmwserv::utils;
+
+
+/**
+ * Set up fixtures.
+ */
+void
+CipherTest::setUp(void)
+{
+ // NOOP
+}
+
+
+/**
+ * Tear down fixtures.
+ */
+void
+CipherTest::tearDown(void)
+{
+ // NOOP
+}
+
+
+/**
+ * Test encoding a string with the MD5 digest algorithm.
+ */
+void
+CipherTest::testMd5_1(void)
+{
+ const std::string expected("d41d8cd98f00b204e9800998ecf8427e");
+ std::string actual(Cipher::instance().md5(""));
+
+ CPPUNIT_ASSERT_EQUAL(actual, expected);
+}
+
+
+/**
+ * Test encoding a string with the MD5 digest algorithm.
+ */
+void
+CipherTest::testMd5_2(void)
+{
+ const std::string expected("0cc175b9c0f1b6a831c399e269772661");
+ std::string actual(Cipher::instance().md5("a"));
+
+ CPPUNIT_ASSERT_EQUAL(actual, expected);
+}
+
+
+/**
+ * Test encoding a string with the MD5 digest algorithm.
+ */
+void
+CipherTest::testMd5_3(void)
+{
+ const std::string expected("900150983cd24fb0d6963f7d28e17f72");
+ std::string actual(Cipher::instance().md5("abc"));
+
+ CPPUNIT_ASSERT_EQUAL(actual, expected);
+}
+
+
+/**
+ * Test encoding a string with the MD5 digest algorithm.
+ */
+void
+CipherTest::testMd5_4(void)
+{
+ const std::string expected("f96b697d7cb7938d525a2f31aaf161d0");
+ std::string actual(Cipher::instance().md5("message digest"));
+
+ CPPUNIT_ASSERT_EQUAL(actual, expected);
+}
+
+
+/**
+ * Test encoding a string with the MD5 digest algorithm.
+ */
+void
+CipherTest::testMd5_5(void)
+{
+ const std::string expected("c3fcd3d76192e4007dfb496cca67e13b");
+ std::string actual(Cipher::instance().md5("abcdefghijklmnopqrstuvwxyz"));
+
+ CPPUNIT_ASSERT_EQUAL(actual, expected);
+}
+
+
+/**
+ * Test encoding a string with the MD5 digest algorithm.
+ */
+void
+CipherTest::testMd5_6(void)
+{
+ const std::string expected("d174ab98d277d9f5a5611c2c9f419d9f");
+
+ std::string s("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+ s += "abcdefghijklmnopqrstuvwxyz";
+ s += "0123456789";
+ std::string actual(Cipher::instance().md5(s));
+
+ CPPUNIT_ASSERT_EQUAL(actual, expected);
+}
+
+
+/**
+ * Test encoding a string with the MD5 digest algorithm.
+ */
+void
+CipherTest::testMd5_7(void)
+{
+ const std::string expected("57edf4a22be3c955ac49da2e2107b67a");
+
+ std::string s;
+ for (int i = 0; i < 8; ++i) {
+ s += "1234567890";
+ }
+ std::string actual(Cipher::instance().md5(s));
+
+ CPPUNIT_ASSERT_EQUAL(actual, expected);
+}