TagContainerTest.cc 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "TagContainer.h"
  2. #include "TaggedItem.h"
  3. #include <cppunit/extensions/HelperMacros.h>
  4. using namespace std;
  5. class TagContainerTest:public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(TagContainerTest);
  7. CPPUNIT_TEST(testSearch);
  8. CPPUNIT_TEST_SUITE_END();
  9. private:
  10. public:
  11. void setUp() {}
  12. void testSearch();
  13. };
  14. CPPUNIT_TEST_SUITE_REGISTRATION(TagContainerTest);
  15. void TagContainerTest::testSearch()
  16. {
  17. TaggedItemHandle items[] = {
  18. new TaggedItem("alpha"),
  19. new TaggedItem("bravo"),
  20. new TaggedItem("charlie"),
  21. };
  22. items[0]->addTag("foo");
  23. items[1]->addTag("foo");
  24. items[1]->addTag("bar");
  25. items[2]->addTag("foo");
  26. TagContainer tc(TaggedItems(&items[0], &items[3]));
  27. {
  28. TaggedItems res = tc.search("bar");
  29. CPPUNIT_ASSERT_EQUAL((size_t)1, res.size());
  30. CPPUNIT_ASSERT_EQUAL(string("bravo"), res[0]->getName());
  31. CPPUNIT_ASSERT_EQUAL(string("foo,bar"), res[0]->toTagString());
  32. }
  33. {
  34. TaggedItems res = tc.nameMatchForward("ch");
  35. CPPUNIT_ASSERT_EQUAL((size_t)1, res.size());
  36. CPPUNIT_ASSERT_EQUAL(string("charlie"), res[0]->getName());
  37. CPPUNIT_ASSERT_EQUAL(string("foo"), res[0]->toTagString());
  38. }
  39. }