annotate TestBitArray.cpp @ 51:0bd3c1c46251

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