Explorar el Código

2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Added unit tests for strjoin, strconcat and strappend.
	* test/a2functionalTest.cc
Tatsuhiro Tsujikawa hace 16 años
padre
commit
b345f76607
Se han modificado 2 ficheros con 44 adiciones y 2 borrados
  1. 5 0
      ChangeLog
  2. 39 2
      test/a2functionalTest.cc

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Added unit tests for strjoin, strconcat and strappend.
+	* test/a2functionalTest.cc
+
 2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Rewritten strconcat and strappend using operator+ instead of

+ 39 - 2
test/a2functionalTest.cc

@@ -1,7 +1,9 @@
 #include "a2functional.h"
+
+#include <cppunit/extensions/HelperMacros.h>
+
 #include <string>
 #include <numeric>
-#include <cppunit/extensions/HelperMacros.h>
 
 namespace aria2 {
 
@@ -10,11 +12,17 @@ class a2functionalTest:public CppUnit::TestFixture {
   CPPUNIT_TEST_SUITE(a2functionalTest);
   CPPUNIT_TEST(testMemFunSh);
   CPPUNIT_TEST(testAdopt2nd);
+  CPPUNIT_TEST(testStrjoin);
+  CPPUNIT_TEST(testStrconcat);
+  CPPUNIT_TEST(testStrappend);
   CPPUNIT_TEST_SUITE_END();
 public:
   void testMemFunSh();
   void testAdopt2nd();
-
+  void testStrjoin();
+  void testStrconcat();
+  void testStrappend();
+  
   class Greeting {
   public:
     virtual ~Greeting() {}
@@ -63,4 +71,33 @@ void a2functionalTest::testAdopt2nd()
 		       adopt2nd(std::plus<std::string>(), mem_fun_sh(&Greeting::sayGreeting))("A Japanese said:", greeting));
 }
 
+void a2functionalTest::testStrjoin()
+{
+  std::vector<std::string> v;
+  CPPUNIT_ASSERT_EQUAL(std::string(""), strjoin(v.begin(), v.end(), " "));
+
+  v.push_back("A");
+
+  CPPUNIT_ASSERT_EQUAL(std::string("A"), strjoin(v.begin(), v.end(), " "));
+
+  v.push_back("hero");
+  v.push_back("is");
+  v.push_back("lonely");
+
+  CPPUNIT_ASSERT_EQUAL(std::string("A hero is lonely"),
+		       strjoin(v.begin(), v.end(), " "));
+}
+
+void a2functionalTest::testStrconcat()
+{
+  CPPUNIT_ASSERT_EQUAL(std::string("X=3"), strconcat("X=", "3"));
+}
+
+void a2functionalTest::testStrappend()
+{
+  std::string str = "X=";
+  strappend(str, "3", ",Y=", "5");
+  CPPUNIT_ASSERT_EQUAL(std::string("X=3,Y=5"), str);
+}
+
 } // namespace aria2