summaryrefslogtreecommitdiff
path: root/test/SingleFileDownloadContextTest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/SingleFileDownloadContextTest.cc')
-rw-r--r--test/SingleFileDownloadContextTest.cc55
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());
+}