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 }