summaryrefslogtreecommitdiff
path: root/test/RequestGroupTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-02-08 14:17:55 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-02-08 14:17:55 +0000
commit9bb57720cf66992813bc5060c291d950e5590500 (patch)
treebdce241975f52d003281564364cbde09563bf1f3 /test/RequestGroupTest.cc
parentb8d177dd5d442b7bf9cc6731828602ca2e3f4ab1 (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.cc32
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