annotate TestBitDecoder.cpp @ 70:c2ad34480216

Quieting clang is obviously only needed for clang and breaks other compilers.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Sat, 12 Jan 2013 12:15:34 +0100
parents f9fa7ea71d37
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
1 #include "BitDecoder.hpp"
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
2 #include "TestFramework.hpp"
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
3
31
bf3dce7fedcb Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 28
diff changeset
4
20
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
5
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
6 BOOST_AUTO_TEST_CASE( TestSimple )
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
7 {
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
8 BitDecoder* up = new BitDecoder("a");
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
9 BitDecoder* down = new BitDecoder("b");
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
10
50
f9fa7ea71d37 Plug leaks in tests.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 45
diff changeset
11 std::auto_ptr<BitDecoder> full(BitDecoder::merge(down, up));
20
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
12
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
13 BOOST_REQUIRE(full->data().isNull());
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
14 BOOST_REQUIRE_EQUAL(up->data(), "a");
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
15 BOOST_REQUIRE_EQUAL(down->data(), "b");
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
16
45
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
17 BOOST_REQUIRE_EQUAL(full->decode("1"), "a");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
18 BOOST_REQUIRE_EQUAL(full->decode("0"), "b");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
19 BOOST_REQUIRE_EQUAL(full->decode("1111"), "aaaa");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
20 BOOST_REQUIRE_EQUAL(full->decode("0000"), "bbbb");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
21 BOOST_REQUIRE_EQUAL(full->decode("1101"), "aaba");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
22 BOOST_REQUIRE_EQUAL(full->decode("1111"), "aaaa");
20
754e12c927b3 Class for decoding binary datarepresentations, eg. Huffman trees.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
23 }
44
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
24
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
25 BOOST_AUTO_TEST_CASE( TestLong )
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
26 {
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
27 BitDecoder* up = new BitDecoder("b");
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
28 BitDecoder* down = new BitDecoder("a");
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
29 for (int i = 0; i < 12; ++i) {
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
30 down = BitDecoder::merge(down, up);
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
31 up = new BitDecoder(QString('c' + i));
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
32 }
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
33
50
f9fa7ea71d37 Plug leaks in tests.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 45
diff changeset
34 std::auto_ptr<BitDecoder> full(BitDecoder::merge(down, up));
44
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
35
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
36 BOOST_REQUIRE(full->data().isNull());
45
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
37 BOOST_REQUIRE_EQUAL(full->decode("1"), "n");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
38 BOOST_REQUIRE_EQUAL(full->decode("01"), "m");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
39 BOOST_REQUIRE_EQUAL(full->decode("001"), "l");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
40 BOOST_REQUIRE_EQUAL(full->decode("0001"), "k");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
41 BOOST_REQUIRE_EQUAL(full->decode("00001"), "j");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
42 BOOST_REQUIRE_EQUAL(full->decode("000001"), "i");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
43 BOOST_REQUIRE_EQUAL(full->decode("0000001"), "h");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
44 BOOST_REQUIRE_EQUAL(full->decode("00000001"), "g");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
45 BOOST_REQUIRE_EQUAL(full->decode("000000001"), "f");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
46 BOOST_REQUIRE_EQUAL(full->decode("0000000001"), "e");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
47 BOOST_REQUIRE_EQUAL(full->decode("00000000001"), "d");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
48 BOOST_REQUIRE_EQUAL(full->decode("000000000001"), "c");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
49 BOOST_REQUIRE_EQUAL(full->decode("0000000000001"), "b");
41cc0d8ac77f Decode directly from bitString.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 44
diff changeset
50 BOOST_REQUIRE_EQUAL(full->decode("0000000000000"), "a");
44
7348d4efa4f6 More testing for BitDecoder.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 31
diff changeset
51 }