diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-06-04 23:21:01 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-06-04 23:21:01 +0900 |
| commit | c0e4381780ae05969aea56a1a11f598f5edce3d8 (patch) | |
| tree | f780e5ca0b5d693e43df549d47accd8ac9f15010 /test | |
| parent | 007b890fe4d61f3f2cf26dce9f466b3b0fc709d2 (diff) | |
util::parseIntSegments: Return SegList<int>
Diffstat (limited to 'test')
| -rw-r--r-- | test/BittorrentHelperTest.cc | 26 | ||||
| -rw-r--r-- | test/DownloadContextTest.cc | 5 | ||||
| -rw-r--r-- | test/UtilTest.cc | 73 |
3 files changed, 44 insertions, 60 deletions
diff --git a/test/BittorrentHelperTest.cc b/test/BittorrentHelperTest.cc index 8874944f..2b6a7608 100644 --- a/test/BittorrentHelperTest.cc +++ b/test/BittorrentHelperTest.cc @@ -652,20 +652,16 @@ void BittorrentHelperTest::testSetFileFilter_single() load(A2_TEST_DIR"/single.torrent", dctx, option_); CPPUNIT_ASSERT(dctx->getFirstFileEntry()->isRequested()); - SegList<int> sgl; - dctx->setFileFilter(sgl); + + dctx->setFileFilter(SegList<int>()); CPPUNIT_ASSERT(dctx->getFirstFileEntry()->isRequested()); - sgl.clear(); - sgl.add(1, 2); - dctx->setFileFilter(sgl); + dctx->setFileFilter(util::parseIntSegments("1,2")); CPPUNIT_ASSERT(dctx->getFirstFileEntry()->isRequested()); // For single file torrent, file is always selected whatever range // is passed. - sgl.clear(); - sgl.add(2, 3); - dctx->setFileFilter(sgl); + dctx->setFileFilter(util::parseIntSegments("2,3")); CPPUNIT_ASSERT(dctx->getFirstFileEntry()->isRequested()); } @@ -677,25 +673,19 @@ void BittorrentHelperTest::testSetFileFilter_multi() CPPUNIT_ASSERT(dctx->getFileEntries()[0]->isRequested()); CPPUNIT_ASSERT(dctx->getFileEntries()[1]->isRequested()); - SegList<int> sgl; - dctx->setFileFilter(sgl); + dctx->setFileFilter(SegList<int>()); CPPUNIT_ASSERT(dctx->getFileEntries()[0]->isRequested()); CPPUNIT_ASSERT(dctx->getFileEntries()[1]->isRequested()); - sgl.add(2, 3); - dctx->setFileFilter(sgl); + dctx->setFileFilter(util::parseIntSegments("2,3")); CPPUNIT_ASSERT(!dctx->getFileEntries()[0]->isRequested()); CPPUNIT_ASSERT(dctx->getFileEntries()[1]->isRequested()); - sgl.clear(); - sgl.add(3, 4); - dctx->setFileFilter(sgl); + dctx->setFileFilter(util::parseIntSegments("3,4")); CPPUNIT_ASSERT(!dctx->getFileEntries()[0]->isRequested()); CPPUNIT_ASSERT(!dctx->getFileEntries()[1]->isRequested()); - sgl.clear(); - util::parseIntSegments(sgl, "1,2"); - dctx->setFileFilter(sgl); + dctx->setFileFilter(util::parseIntSegments("1,2")); CPPUNIT_ASSERT(dctx->getFileEntries()[0]->isRequested()); CPPUNIT_ASSERT(dctx->getFileEntries()[1]->isRequested()); } diff --git a/test/DownloadContextTest.cc b/test/DownloadContextTest.cc index 9e0ffee4..c0c0f50f 100644 --- a/test/DownloadContextTest.cc +++ b/test/DownloadContextTest.cc @@ -83,10 +83,9 @@ void DownloadContextTest::testSetFileFilter() files.push_back(std::shared_ptr<FileEntry>(new FileEntry("file", 1, i))); } ctx.setFileEntries(files.begin(), files.end()); - SegList<int> sgl; - util::parseIntSegments(sgl, "6-8,2-4"); + auto sgl = util::parseIntSegments("6-8,2-4"); sgl.normalize(); - ctx.setFileFilter(sgl); + ctx.setFileFilter(std::move(sgl)); const std::vector<std::shared_ptr<FileEntry> >& res = ctx.getFileEntries(); CPPUNIT_ASSERT(!res[0]->isRequested()); CPPUNIT_ASSERT(res[1]->isRequested()); diff --git a/test/UtilTest.cc b/test/UtilTest.cc index aa70512a..65b1d9c5 100644 --- a/test/UtilTest.cc +++ b/test/UtilTest.cc @@ -1669,70 +1669,65 @@ void UtilTest::testConvertBitfield() void UtilTest::testParseIntSegments() { - SegList<int> sgl; - util::parseIntSegments(sgl, "1,3-8,10"); - - CPPUNIT_ASSERT(sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(1, sgl.next()); - CPPUNIT_ASSERT(sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(3, sgl.next()); - CPPUNIT_ASSERT(sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(4, sgl.next()); - CPPUNIT_ASSERT(sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(5, sgl.next()); - CPPUNIT_ASSERT(sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(6, sgl.next()); - CPPUNIT_ASSERT(sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(7, sgl.next()); - CPPUNIT_ASSERT(sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(8, sgl.next()); - CPPUNIT_ASSERT(sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(10, sgl.next()); - CPPUNIT_ASSERT(!sgl.hasNext()); - CPPUNIT_ASSERT_EQUAL(0, sgl.next()); - - sgl.clear(); - util::parseIntSegments(sgl, ",,,1,,,3,,,"); - CPPUNIT_ASSERT_EQUAL(1, sgl.next()); - CPPUNIT_ASSERT_EQUAL(3, sgl.next()); - CPPUNIT_ASSERT(!sgl.hasNext()); + { + auto sgl = util::parseIntSegments("1,3-8,10"); + + CPPUNIT_ASSERT(sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(1, sgl.next()); + CPPUNIT_ASSERT(sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(3, sgl.next()); + CPPUNIT_ASSERT(sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(4, sgl.next()); + CPPUNIT_ASSERT(sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(5, sgl.next()); + CPPUNIT_ASSERT(sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(6, sgl.next()); + CPPUNIT_ASSERT(sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(7, sgl.next()); + CPPUNIT_ASSERT(sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(8, sgl.next()); + CPPUNIT_ASSERT(sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(10, sgl.next()); + CPPUNIT_ASSERT(!sgl.hasNext()); + CPPUNIT_ASSERT_EQUAL(0, sgl.next()); + } + { + auto sgl = util::parseIntSegments(",,,1,,,3,,,"); + CPPUNIT_ASSERT_EQUAL(1, sgl.next()); + CPPUNIT_ASSERT_EQUAL(3, sgl.next()); + CPPUNIT_ASSERT(!sgl.hasNext()); + } } void UtilTest::testParseIntSegments_invalidRange() { try { - SegList<int> sgl; - util::parseIntSegments(sgl, "-1"); + auto sgl = util::parseIntSegments("-1"); CPPUNIT_FAIL("exception must be thrown."); } catch(Exception& e) { } try { - SegList<int> sgl; - util::parseIntSegments(sgl, "1-"); + auto sgl = util::parseIntSegments("1-"); CPPUNIT_FAIL("exception must be thrown."); } catch(Exception& e) { } try { - SegList<int> sgl; - util::parseIntSegments(sgl, "2147483648"); + auto sgl = util::parseIntSegments("2147483648"); CPPUNIT_FAIL("exception must be thrown."); } catch(Exception& e) { } try { - SegList<int> sgl; - util::parseIntSegments(sgl, "2147483647-2147483648"); + auto sgl = util::parseIntSegments("2147483647-2147483648"); CPPUNIT_FAIL("exception must be thrown."); } catch(Exception& e) { } try { - SegList<int> sgl; - util::parseIntSegments(sgl, "1-2x"); + auto sgl = util::parseIntSegments("1-2x"); CPPUNIT_FAIL("exception must be thrown."); } catch(Exception& e) { } try { - SegList<int> sgl; - util::parseIntSegments(sgl, "3x-4"); + auto sgl = util::parseIntSegments("3x-4"); CPPUNIT_FAIL("exception must be thrown."); } catch(Exception& e) { } |
