annotate TestFastBitDecoder.cpp @ 115:404795616b1e default tip

Added a lot of common files to ignore
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Sat, 25 Mar 2017 17:43:57 +0100
parents f9fa7ea71d37
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
1 #include "FastBitDecoder.hpp"
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
2 #include "TestFramework.hpp"
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
3
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
4 #include "BitDecoder.hpp"
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
5
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
6
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
7 BOOST_AUTO_TEST_CASE( TestSimple )
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
8 {
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
9 BitDecoder* up = new BitDecoder("a");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
10 BitDecoder* down = new BitDecoder("b");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
11
50
f9fa7ea71d37 Plug leaks in tests.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 46
diff changeset
12 std::auto_ptr<BitDecoder> full(BitDecoder::merge(down, up));
46
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
13
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
14 BOOST_REQUIRE(full->data().isNull());
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
15 BOOST_REQUIRE_EQUAL(up->data(), "a");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
16 BOOST_REQUIRE_EQUAL(down->data(), "b");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
17
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
18 FastBitDecoder fast(full->createEncoder());
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
19
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
20 BOOST_REQUIRE_EQUAL(fast.decode("1"), "a");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
21 BOOST_REQUIRE_EQUAL(fast.decode("0"), "b");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
22 BOOST_REQUIRE_EQUAL(fast.decode("1111"), "aaaa");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
23 BOOST_REQUIRE_EQUAL(fast.decode("0000"), "bbbb");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
24 BOOST_REQUIRE_EQUAL(fast.decode("1101"), "aaba");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
25 BOOST_REQUIRE_EQUAL(fast.decode("1111"), "aaaa");
50
f9fa7ea71d37 Plug leaks in tests.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 46
diff changeset
26
46
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
27 }
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
28
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
29 BOOST_AUTO_TEST_CASE( TestLong )
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
30 {
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
31 BitDecoder* up = new BitDecoder("b");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
32 BitDecoder* down = new BitDecoder("a");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
33 for (int i = 0; i < 12; ++i) {
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
34 down = BitDecoder::merge(down, up);
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
35 up = new BitDecoder(QString('c' + i));
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
36 }
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
37
50
f9fa7ea71d37 Plug leaks in tests.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 46
diff changeset
38 std::auto_ptr<BitDecoder> full(BitDecoder::merge(down, up));
46
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
39
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
40 BOOST_REQUIRE(full->data().isNull());
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
41
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
42 FastBitDecoder fast(full->createEncoder());
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
43
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
44 BOOST_REQUIRE_EQUAL(fast.decode("1"), "n");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
45 BOOST_REQUIRE_EQUAL(fast.decode("01"), "m");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
46 BOOST_REQUIRE_EQUAL(fast.decode("001"), "l");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
47 BOOST_REQUIRE_EQUAL(fast.decode("0001"), "k");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
48 BOOST_REQUIRE_EQUAL(fast.decode("00001"), "j");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
49 BOOST_REQUIRE_EQUAL(fast.decode("000001"), "i");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
50 BOOST_REQUIRE_EQUAL(fast.decode("0000001"), "h");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
51 BOOST_REQUIRE_EQUAL(fast.decode("00000001"), "g");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
52 BOOST_REQUIRE_EQUAL(fast.decode("000000001"), "f");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
53 BOOST_REQUIRE_EQUAL(fast.decode("0000000001"), "e");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
54 BOOST_REQUIRE_EQUAL(fast.decode("00000000001"), "d");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
55 BOOST_REQUIRE_EQUAL(fast.decode("000000000001"), "c");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
56 BOOST_REQUIRE_EQUAL(fast.decode("0000000000001"), "b");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
57 BOOST_REQUIRE_EQUAL(fast.decode("0000000000000"), "a");
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
58
877327e9061a N-Tree for decoding.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
59 }