Mercurial > dedupe
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 |
| 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 } |
