diff options
Diffstat (limited to 'test/SingleFileDownloadContextTest.cc')
| -rw-r--r-- | test/SingleFileDownloadContextTest.cc | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/SingleFileDownloadContextTest.cc b/test/SingleFileDownloadContextTest.cc new file mode 100644 index 00000000..776530be --- /dev/null +++ b/test/SingleFileDownloadContextTest.cc @@ -0,0 +1,55 @@ +#include "SingleFileDownloadContext.h" +#include <cppunit/extensions/HelperMacros.h> + +using namespace std; + +class SingleFileDownloadContextTest:public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE(SingleFileDownloadContextTest); + CPPUNIT_TEST(testGetPieceHash); + CPPUNIT_TEST(testGetNumPieces); + CPPUNIT_TEST(testGetActualBasePath); + CPPUNIT_TEST_SUITE_END(); +public: + SingleFileDownloadContextTest() {} + + void setUp() {} + + void testGetPieceHash(); + void testGetNumPieces(); + void testGetActualBasePath(); +}; + + +CPPUNIT_TEST_SUITE_REGISTRATION( SingleFileDownloadContextTest ); + +void SingleFileDownloadContextTest::testGetPieceHash() +{ + SingleFileDownloadContext ctx(0, 0, ""); + Strings pieceHashes; + pieceHashes.push_back("0000"); + pieceHashes.push_back("0001"); + pieceHashes.push_back("0002"); + ctx.setPieceHashes(pieceHashes); + CPPUNIT_ASSERT_EQUAL(string(""), ctx.getPieceHash(-1)); + CPPUNIT_ASSERT_EQUAL(string("0000"), ctx.getPieceHash(0)); + CPPUNIT_ASSERT_EQUAL(string(""), ctx.getPieceHash(3)); +} + +void SingleFileDownloadContextTest::testGetNumPieces() +{ + SingleFileDownloadContext ctx(345, 9889, ""); + CPPUNIT_ASSERT_EQUAL((int32_t)29, ctx.getNumPieces()); +} + +void SingleFileDownloadContextTest::testGetActualBasePath() +{ + SingleFileDownloadContext ctx(0, 0, ""); + CPPUNIT_ASSERT_EQUAL(string("./index.html"), ctx.getActualBasePath()); + ctx.setFilename("aria2.tar.bz2"); + CPPUNIT_ASSERT_EQUAL(string("./aria2.tar.bz2"), ctx.getActualBasePath()); + ctx.setUFilename("aria.tar.bz2"); + CPPUNIT_ASSERT_EQUAL(string("./aria.tar.bz2"), ctx.getActualBasePath()); + ctx.setDir("/tmp"); + CPPUNIT_ASSERT_EQUAL(string("/tmp/aria.tar.bz2"), ctx.getActualBasePath()); +} |
