annotate BurnBitArray.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 8136057988bc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }