Test case for base64 encode/decode
authorPieter Wuille <pieter.wuille@gmail.com>
Tue, 27 Sep 2011 17:46:57 +0000 (19:46 +0200)
committerPieter Wuille <pieter.wuille@gmail.com>
Tue, 27 Sep 2011 17:48:10 +0000 (19:48 +0200)
src/test/base64_tests.cpp [new file with mode: 0644]
src/test/test_bitcoin.cpp

diff --git a/src/test/base64_tests.cpp b/src/test/base64_tests.cpp
new file mode 100644 (file)
index 0000000..f30f7f8
--- /dev/null
@@ -0,0 +1,20 @@
+#include <boost/test/unit_test.hpp>
+
+#include "../util.h"
+
+BOOST_AUTO_TEST_SUITE(base64_tests)
+
+BOOST_AUTO_TEST_CASE(base64_testvectors)
+{
+    static const string vstrIn[]  = {"","f","fo","foo","foob","fooba","foobar"};
+    static const string vstrOut[] = {"","Zg==","Zm8=","Zm9v","Zm9vYg==","Zm9vYmE=","Zm9vYmFy"};
+    for (int i=0; i<sizeof(vstrIn)/sizeof(vstrIn[0]); i++)
+    {
+        string strEnc = EncodeBase64(vstrIn[i]);
+        BOOST_CHECK(strEnc == vstrOut[i]);
+        string strDec = DecodeBase64(strEnc);
+        BOOST_CHECK(strDec == vstrIn[i]);
+    }
+}
+
+BOOST_AUTO_TEST_SUITE_END()
index c6f6d94..a42ad75 100644 (file)
@@ -9,6 +9,7 @@
 #include "script_tests.cpp"
 #include "transaction_tests.cpp"
 #include "DoS_tests.cpp"
+#include "base64_tests.cpp"
 
 CWallet* pwalletMain;