summaryrefslogtreecommitdiff
path: root/test/a2functionalTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-06-07 07:50:50 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-06-07 07:50:50 +0000
commitb345f7660734ccd21808f5b37fefbaf99bb98ef6 (patch)
tree8298c1e1c71737ada5eb1cc66f298c7ab1d55bb2 /test/a2functionalTest.cc
parent9be97eebb5510ade390690c6c7d539c0fe151f3d (diff)
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added unit tests for strjoin, strconcat and strappend. * test/a2functionalTest.cc
Diffstat (limited to 'test/a2functionalTest.cc')
-rw-r--r--test/a2functionalTest.cc41
1 files changed, 39 insertions, 2 deletions
diff --git a/test/a2functionalTest.cc b/test/a2functionalTest.cc
index 36b4564c..0129d4af 100644
--- a/test/a2functionalTest.cc
+++ b/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