Mercurial > dedupe
comparison TestBitDecoder.cpp @ 44:7348d4efa4f6
More testing for BitDecoder.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Mon, 10 Sep 2012 19:18:30 +0200 |
| parents | bf3dce7fedcb |
| children | 41cc0d8ac77f |
comparison
equal
deleted
inserted
replaced
| 43:1334d1417c0b | 44:7348d4efa4f6 |
|---|---|
| 34 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1111")), "aaaa"); | 34 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1111")), "aaaa"); |
| 35 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000")), "bbbb"); | 35 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000")), "bbbb"); |
| 36 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1101")), "aaba"); | 36 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1101")), "aaba"); |
| 37 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1111")), "aaaa"); | 37 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1111")), "aaaa"); |
| 38 } | 38 } |
| 39 | |
| 40 BOOST_AUTO_TEST_CASE( TestLong ) | |
| 41 { | |
| 42 BitDecoder* up = new BitDecoder("b"); | |
| 43 BitDecoder* down = new BitDecoder("a"); | |
| 44 for (int i = 0; i < 12; ++i) { | |
| 45 down = BitDecoder::merge(down, up); | |
| 46 up = new BitDecoder(QString('c' + i)); | |
| 47 } | |
| 48 | |
| 49 BitDecoder* full = BitDecoder::merge(down, up); | |
| 50 | |
| 51 BOOST_REQUIRE(full->data().isNull()); | |
| 52 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1")), "n"); | |
| 53 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("01")), "m"); | |
| 54 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("001")), "l"); | |
| 55 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0001")), "k"); | |
| 56 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("00001")), "j"); | |
| 57 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("000001")), "i"); | |
| 58 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000001")), "h"); | |
| 59 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("00000001")), "g"); | |
| 60 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("000000001")), "f"); | |
| 61 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000000001")), "e"); | |
| 62 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("00000000001")), "d"); | |
| 63 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("000000000001")), "c"); | |
| 64 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000000000001")), "b"); | |
| 65 BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000000000000")), "a"); | |
| 66 | |
| 67 } |
