Mercurial > dedupe
annotate BurnBitArray.cpp @ 76:8136057988bc
Fixes to automatic report generating system.
A lot of new unittests.
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Sat, 16 Feb 2013 15:32:20 +0100 |
| parents | |
| children |
| rev | line source |
|---|---|
|
76
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
1 #include "TestFramework.hpp" |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
2 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
3 #include "BitDecoder.hpp" |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
4 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
5 #define BURN_MAX 100000 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
6 #define BURN for(size_t burn_counter = BURN_MAX; burn_counter > 0; --burn_counter) |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
7 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
8 BOOST_AUTO_TEST_CASE( TestBasic ) |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
9 { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
10 BURN { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
11 BitArray tbits(16, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
12 BitArray fbits(16, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
13 for (uint i = 0; i < tbits.size(); ++i) { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
14 BOOST_REQUIRE_EQUAL(tbits.testBit(i), true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
15 BOOST_REQUIRE_EQUAL(fbits.testBit(i), false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
16 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
17 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
18 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
19 BURN { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
20 BitArray tbits(9, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
21 BitArray fbits(9, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
22 for (uint i = 0; i < tbits.size(); ++i) { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
23 BOOST_REQUIRE_EQUAL(tbits.testBit(i), true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
24 BOOST_REQUIRE_EQUAL(fbits.testBit(i), false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
25 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
26 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
27 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
28 BURN { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
29 BitArray tbits(13, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
30 BitArray fbits(13, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
31 for (uint i = 0; i < tbits.size(); ++i) { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
32 BOOST_REQUIRE_EQUAL(tbits.testBit(i), true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
33 BOOST_REQUIRE_EQUAL(fbits.testBit(i), false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
34 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
35 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
36 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
37 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
38 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
39 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
40 BOOST_AUTO_TEST_CASE( TestSetBit ) |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
41 { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
42 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
43 BURN { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
44 for (uint i = 0; i < 13; ++i) { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
45 BitArray tbits(13, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
46 BitArray fbits(13, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
47 tbits.setBit(i, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
48 fbits.setBit(i, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
49 for (uint j = 0; j < tbits.size(); ++j) { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
50 BOOST_REQUIRE_EQUAL(tbits.testBit(j), i != j); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
51 BOOST_REQUIRE_EQUAL(fbits.testBit(j), i == j); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
52 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
53 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
54 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
55 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
56 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
57 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
58 BOOST_AUTO_TEST_CASE( TestSetBit2 ) |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
59 { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
60 BURN { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
61 BitArray tbits(8, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
62 BitArray fbits(8, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
63 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("11111111")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
64 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("00000000")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
65 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
66 tbits.setBit(0, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
67 fbits.setBit(0, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
68 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("01111111")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
69 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("00000000")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
70 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
71 tbits.setBit(1, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
72 fbits.setBit(1, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
73 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("01111111")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
74 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("01000000")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
75 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
76 tbits.setBit(2, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
77 fbits.setBit(2, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
78 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("01011111")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
79 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("01000000")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
80 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
81 tbits.setBit(3, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
82 fbits.setBit(3, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
83 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("01001111")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
84 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("01000000")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
85 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
86 tbits.setBit(4, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
87 fbits.setBit(4, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
88 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("01000111")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
89 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("01000000")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
90 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
91 tbits.setBit(5, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
92 fbits.setBit(5, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
93 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("01000111")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
94 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("01000100")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
95 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
96 tbits.setBit(6, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
97 fbits.setBit(6, true); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
98 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("01000111")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
99 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("01000110")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
100 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
101 tbits.setBit(7, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
102 fbits.setBit(7, false); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
103 BOOST_REQUIRE_EQUAL(tbits, BitDecoder::bitsFromString("01000110")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
104 BOOST_REQUIRE_EQUAL(fbits, BitDecoder::bitsFromString("01000110")); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
105 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
106 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
107 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
108 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
109 BOOST_AUTO_TEST_CASE( TestPaddedChar ) |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
110 { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
111 BURN { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
112 BitArray bits = BitDecoder::bitsFromString("0100011011"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
113 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
114 BOOST_REQUIRE_EQUAL(bits.size(), 10u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
115 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(0), 70); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
116 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
117 bits = BitDecoder::bitsFromString("0000000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
118 BOOST_REQUIRE_EQUAL(bits.size(), 10u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
119 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(2), 1u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
120 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
121 bits = BitDecoder::bitsFromString("0000000011"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
122 BOOST_REQUIRE_EQUAL(bits.size(), 10u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
123 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(2), 3u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
124 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
125 bits = BitDecoder::bitsFromString("000000000011"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
126 BOOST_REQUIRE_EQUAL(bits.size(), 12u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
127 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(4), 3u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
128 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
129 bits = BitDecoder::bitsFromString("0000000000011"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
130 BOOST_REQUIRE_EQUAL(bits.size(), 13u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
131 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(5), 3u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
132 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
133 bits = BitDecoder::bitsFromString("00000000000011"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
134 BOOST_REQUIRE_EQUAL(bits.size(), 14u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
135 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(6), 3u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
136 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
137 bits = BitDecoder::bitsFromString("000000000000011"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
138 BOOST_REQUIRE_EQUAL(bits.size(), 15u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
139 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(7), 3u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
140 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
141 bits = BitDecoder::bitsFromString("10000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
142 BOOST_REQUIRE_EQUAL(bits.size(), 8u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
143 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(0), 129u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
144 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
145 bits = BitDecoder::bitsFromString("010000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
146 BOOST_REQUIRE_EQUAL(bits.size(), 9u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
147 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(1), 129u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
148 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
149 bits = BitDecoder::bitsFromString("0010000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
150 BOOST_REQUIRE_EQUAL(bits.size(), 10u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
151 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(2), 129u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
152 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
153 bits = BitDecoder::bitsFromString("00010000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
154 BOOST_REQUIRE_EQUAL(bits.size(), 11u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
155 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(3), 129u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
156 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
157 bits = BitDecoder::bitsFromString("000010000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
158 BOOST_REQUIRE_EQUAL(bits.size(), 12u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
159 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(4), 129u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
160 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
161 bits = BitDecoder::bitsFromString("0000010000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
162 BOOST_REQUIRE_EQUAL(bits.size(), 13u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
163 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(5), 129u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
164 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
165 bits = BitDecoder::bitsFromString("00000010000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
166 BOOST_REQUIRE_EQUAL(bits.size(), 14u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
167 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(6), 129u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
168 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
169 bits = BitDecoder::bitsFromString("000000010000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
170 BOOST_REQUIRE_EQUAL(bits.size(), 15u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
171 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(7), 129u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
172 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
173 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
174 bits = BitDecoder::bitsFromString("0100011011"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
175 BOOST_REQUIRE_EQUAL(bits.size(), 10u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
176 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(2), 27u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
177 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
178 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
179 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
180 BOOST_AUTO_TEST_CASE( TestCorrectChar ) |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
181 { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
182 BURN { |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
183 BitArray bits = BitDecoder::bitsFromString("00000001"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
184 BOOST_REQUIRE_EQUAL(bits.size(), 8u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
185 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(0), 1u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
186 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
187 bits = BitDecoder::bitsFromString("00000011"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
188 BOOST_REQUIRE_EQUAL(bits.size(), 8u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
189 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(0), 3u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
190 |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
191 bits = BitDecoder::bitsFromString("10000000"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
192 BOOST_REQUIRE_EQUAL(bits.size(), 8u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
193 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(0), 128u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
194 bits = BitDecoder::bitsFromString("11000000"); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
195 BOOST_REQUIRE_EQUAL(bits.size(), 8u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
196 BOOST_REQUIRE_EQUAL(bits.getPaddedChar(0), 192u); |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
197 } |
|
8136057988bc
Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
198 } |
