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

Added unit tests for strjoin, strconcat and strappend.
	* test/a2functionalTest.cc
pull/1/head
Tatsuhiro Tsujikawa 2009-06-07 07:50:50 +00:00
parent 9be97eebb5
commit b345f76607
2 changed files with 44 additions and 2 deletions

View File

@ -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

View File

@ -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