123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- #include "IteratableChecksumValidator.h"
- #include "DefaultDiskWriter.h"
- #include <cppunit/extensions/HelperMacros.h>
- using namespace std;
- class IteratableChecksumValidatorTest:public CppUnit::TestFixture {
- CPPUNIT_TEST_SUITE(IteratableChecksumValidatorTest);
- CPPUNIT_TEST(testValidate);
- CPPUNIT_TEST(testValidate2);
- CPPUNIT_TEST_SUITE_END();
- private:
- public:
- void setUp() {
- }
- void testValidate();
- void testValidate2();
- };
- CPPUNIT_TEST_SUITE_REGISTRATION( IteratableChecksumValidatorTest );
- void IteratableChecksumValidatorTest::testValidate() {
- BitfieldMan bitfieldMan(100, 250);
- bitfieldMan.setAllBit();
- ChecksumHandle checksum = new Checksum("sha1",
- "898a81b8e0181280ae2ee1b81e269196d91e869a");
- DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
- diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
- IteratableChecksumValidator validator;
- validator.setDiskWriter(diskWriter);
- validator.setBitfield(&bitfieldMan);
- validator.setChecksum(checksum);
- validator.init();
- while(!validator.finished()) {
- validator.validateChunk();
- }
- CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
- }
- void IteratableChecksumValidatorTest::testValidate2() {
- BitfieldMan bitfieldMan(100, 250);
- bitfieldMan.setAllBit();
- ChecksumHandle checksum = new Checksum("sha1", "ffffffffffffffffffffffffffffffffffffffff");
- DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
- diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
- IteratableChecksumValidator validator;
- validator.setDiskWriter(diskWriter);
- validator.setBitfield(&bitfieldMan);
- validator.setChecksum(checksum);
- validator.init();
- while(!validator.finished()) {
- validator.validateChunk();
- }
- CPPUNIT_ASSERT(!bitfieldMan.isAllBitSet());
- }
- /*
- void IteratableChecksumValidatorTest::testValidate3() {
- BitfieldMan bitfieldMan(50, 250);
- bitfieldMan.setAllBit();
- Strings checksums;
- checksums.push_back("898a81b8e0181280ae2ee1b81e269196d91e869a");
- DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
- diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
- IteratableChecksumValidator 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 IteratableChecksumValidatorTest::testValidate4() {
- BitfieldMan bitfieldMan(70, 250);
- bitfieldMan.setAllBit();
- Strings checksums(&csArray[0], &csArray[3]);
- DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
- diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
- IteratableChecksumValidator 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));
- }
- */
|