diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-02-08 14:17:55 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-02-08 14:17:55 +0000 |
| commit | 9bb57720cf66992813bc5060c291d950e5590500 (patch) | |
| tree | bdce241975f52d003281564364cbde09563bf1f3 /test/RequestGroupTest.cc | |
| parent | b8d177dd5d442b7bf9cc6731828602ca2e3f4ab1 (diff) | |
2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten AdaptiveURISelector::mayRetryWithIncreasedTimeout()
using RequestGroup::extractURIResult().
* src/AdaptiveURISelector.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* test/RequestGroupTest.cc
Diffstat (limited to 'test/RequestGroupTest.cc')
| -rw-r--r-- | test/RequestGroupTest.cc | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/RequestGroupTest.cc b/test/RequestGroupTest.cc index 1710c12b..c01323d7 100644 --- a/test/RequestGroupTest.cc +++ b/test/RequestGroupTest.cc @@ -1,5 +1,6 @@ #include "RequestGroup.h" +#include <algorithm> #include <cppunit/extensions/HelperMacros.h> #include "ServerHost.h" @@ -17,6 +18,7 @@ class RequestGroupTest : public CppUnit::TestFixture { CPPUNIT_TEST(testRemoveURIWhoseHostnameIs); CPPUNIT_TEST(testGetFilePath); CPPUNIT_TEST(testCreateDownloadResult); + CPPUNIT_TEST(testExtractURIResult); CPPUNIT_TEST_SUITE_END(); private: @@ -27,6 +29,7 @@ public: void testRemoveURIWhoseHostnameIs(); void testGetFilePath(); void testCreateDownloadResult(); + void testExtractURIResult(); }; @@ -139,4 +142,33 @@ void RequestGroupTest::testCreateDownloadResult() } } +void RequestGroupTest::testExtractURIResult() +{ + Option op; + RequestGroup group(&op, std::deque<std::string>()); + group.addURIResult("http://timeout/file", DownloadResult::TIME_OUT); + group.addURIResult("http://finished/file", DownloadResult::FINISHED); + group.addURIResult("http://timeout/file2", DownloadResult::TIME_OUT); + group.addURIResult("http://unknownerror/file", DownloadResult::UNKNOWN_ERROR); + + std::deque<URIResult> res; + group.extractURIResult(res, DownloadResult::TIME_OUT); + CPPUNIT_ASSERT_EQUAL((size_t)2, res.size()); + CPPUNIT_ASSERT_EQUAL(std::string("http://timeout/file"), res[0].getURI()); + CPPUNIT_ASSERT_EQUAL(std::string("http://timeout/file2"), res[1].getURI()); + + CPPUNIT_ASSERT_EQUAL((size_t)2, group.getURIResults().size()); + CPPUNIT_ASSERT_EQUAL(std::string("http://finished/file"), + group.getURIResults()[0].getURI()); + CPPUNIT_ASSERT_EQUAL(std::string("http://unknownerror/file"), + group.getURIResults()[1].getURI()); + + res.clear(); + + group.extractURIResult(res, DownloadResult::TIME_OUT); + CPPUNIT_ASSERT(res.empty()); + CPPUNIT_ASSERT_EQUAL((size_t)2, group.getURIResults().size()); +} + + } // namespace aria2 |
