]> gitweb.factorcode.org Git - factor.git/blob - basis/bitstreams/bitstreams-tests.factor
basis: Cleaning up tests using lists and IN: forms.
[factor.git] / basis / bitstreams / bitstreams-tests.factor
1 ! Copyright (C) 2009 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors bitstreams kernel tools.test ;
4
5 { 0b1111111111 }
6 [
7     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
8     2 >>byte-pos 6 >>bit-pos
9     10 swap peek
10 ] unit-test
11
12 { 0b111111111 }
13 [
14     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
15     2 >>byte-pos 6 >>bit-pos
16     9 swap peek
17 ] unit-test
18
19 { 0b11111111 }
20 [
21     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
22     2 >>byte-pos 6 >>bit-pos
23     8 swap peek
24 ] unit-test
25
26 { 0b1111111 }
27 [
28     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
29     2 >>byte-pos 6 >>bit-pos
30     7 swap peek
31 ] unit-test
32
33 { 0b111111 }
34 [
35     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
36     2 >>byte-pos 6 >>bit-pos
37     6 swap peek
38 ] unit-test
39
40 { 0b11111 }
41 [
42     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
43     2 >>byte-pos 6 >>bit-pos
44     5 swap peek
45 ] unit-test
46
47 [ B{ } <msb0-bit-reader> 5 swap peek ] must-fail
48 [ B{ } <msb0-bit-reader> 1 swap peek ] must-fail
49 [ B{ } <msb0-bit-reader> 8 swap peek ] must-fail
50
51 { 0 } [ B{ } <msb0-bit-reader> 0 swap peek ] unit-test