123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- #include "ChunkChecksumValidator.h"
- #include "DefaultDiskWriter.h"
- #include <cppunit/extensions/HelperMacros.h>
- using namespace std;
- class ChunkChecksumValidatorTest:public CppUnit::TestFixture {
- CPPUNIT_TEST_SUITE(ChunkChecksumValidatorTest);
- CPPUNIT_TEST(testValidate);
- CPPUNIT_TEST(testValidate2);
- CPPUNIT_TEST(testValidate3);
- CPPUNIT_TEST(testValidate4);
- CPPUNIT_TEST_SUITE_END();
- private:
- static const char* csArray[];// = { "29b0e7878271645fffb7eec7db4a7473a1c00bc1",
- // "4df75a661cb7eb2733d9cdaa7f772eae3a4e2976",
- // "0a4ea2f7dd7c52ddf2099a444ab2184b4d341bdb" };
- public:
- void setUp() {
- }
- void testValidate();
- void testValidate2();
- void testValidate3();
- void testValidate4();
- };
- CPPUNIT_TEST_SUITE_REGISTRATION( ChunkChecksumValidatorTest );
- const char* ChunkChecksumValidatorTest::csArray[] = { "29b0e7878271645fffb7eec7db4a7473a1c00bc1",
- "4df75a661cb7eb2733d9cdaa7f772eae3a4e2976",
- "0a4ea2f7dd7c52ddf2099a444ab2184b4d341bdb" };
- void ChunkChecksumValidatorTest::testValidate() {
- BitfieldMan bitfieldMan(100, 250);
- bitfieldMan.setAllBit();
- Strings checksums(&csArray[0], &csArray[3]);
- DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
- diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
- ChunkChecksumValidator validator;
- validator.setDiskWriter(diskWriter);
- validator.validate(&bitfieldMan, checksums, 100);
- CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
- checksums[1] = "ffffffffffffffffffffffffffffffffffffffff";
- validator.validate(&bitfieldMan, checksums, 100);
- CPPUNIT_ASSERT(bitfieldMan.isBitSet(0));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(1));
- CPPUNIT_ASSERT(bitfieldMan.isBitSet(2));
- }
- void ChunkChecksumValidatorTest::testValidate2() {
- BitfieldMan bitfieldMan(50, 250);
- bitfieldMan.setAllBit();
- Strings checksums(&csArray[0], &csArray[3]);
- DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
- diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
- ChunkChecksumValidator validator;
- validator.setDiskWriter(diskWriter);
- validator.validate(&bitfieldMan, checksums, 100);
- CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
- checksums[1] = "ffffffffffffffffffffffffffffffffffffffff";
- validator.validate(&bitfieldMan, checksums, 100);
- CPPUNIT_ASSERT(bitfieldMan.isBitSet(0));
- CPPUNIT_ASSERT(bitfieldMan.isBitSet(1));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(2));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(3));
- CPPUNIT_ASSERT(bitfieldMan.isBitSet(4));
- }
- void ChunkChecksumValidatorTest::testValidate3() {
- BitfieldMan bitfieldMan(50, 250);
- bitfieldMan.setAllBit();
- Strings checksums;
- checksums.push_back("898a81b8e0181280ae2ee1b81e269196d91e869a");
- DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
- diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
- ChunkChecksumValidator validator;
- validator.setDiskWriter(diskWriter);
- validator.validate(&bitfieldMan, checksums, 250);
- CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
- checksums[0] = "ffffffffffffffffffffffffffffffffffffffff";
- validator.validate(&bitfieldMan, checksums, 250);
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(0));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(1));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(2));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(3));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(4));
- }
- void ChunkChecksumValidatorTest::testValidate4() {
- BitfieldMan bitfieldMan(70, 250);
- bitfieldMan.setAllBit();
- Strings checksums(&csArray[0], &csArray[3]);
- DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
- diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
- ChunkChecksumValidator validator;
- validator.setDiskWriter(diskWriter);
- validator.validate(&bitfieldMan, checksums, 100);
- CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
- checksums[1] = "ffffffffffffffffffffffffffffffffffffffff";
- validator.validate(&bitfieldMan, checksums, 100);
- CPPUNIT_ASSERT(bitfieldMan.isBitSet(0));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(1));
- CPPUNIT_ASSERT(!bitfieldMan.isBitSet(2));
- CPPUNIT_ASSERT(bitfieldMan.isBitSet(3));
- }
|