InOrderURISelectorTest.cc 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "InOrderURISelector.h"
  2. #include "Exception.h"
  3. #include "Util.h"
  4. #include "array_fun.h"
  5. #include <iostream>
  6. #include <cppunit/extensions/HelperMacros.h>
  7. namespace aria2 {
  8. class InOrderURISelectorTest:public CppUnit::TestFixture {
  9. CPPUNIT_TEST_SUITE(InOrderURISelectorTest);
  10. CPPUNIT_TEST(testSelect);
  11. CPPUNIT_TEST_SUITE_END();
  12. private:
  13. std::deque<std::string> uris;
  14. SharedHandle<InOrderURISelector> sel;
  15. public:
  16. void setUp()
  17. {
  18. static const char* urisSrc[] = {
  19. "http://alpha/file",
  20. "ftp://alpha/file",
  21. "http://bravo/file"
  22. };
  23. uris.assign(&urisSrc[0], &urisSrc[arrayLength(urisSrc)]);
  24. sel.reset(new InOrderURISelector());
  25. }
  26. void tearDown() {}
  27. void testSelect();
  28. };
  29. CPPUNIT_TEST_SUITE_REGISTRATION(InOrderURISelectorTest);
  30. void InOrderURISelectorTest::testSelect()
  31. {
  32. CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"), sel->select(uris));
  33. CPPUNIT_ASSERT_EQUAL(std::string("ftp://alpha/file"), sel->select(uris));
  34. CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"), sel->select(uris));
  35. CPPUNIT_ASSERT_EQUAL(std::string(""), sel->select(uris));
  36. }
  37. } // namespace aria2