]> gitweb.factorcode.org Git - factor.git/blob - basis/bitstreams/bitstreams-tests.factor
a5b1b43acd0995061099bdc37f5d4a341b3a817d
[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 io io.streams.string kernel tools.test
4 grouping compression.lzw multiline byte-arrays io.encodings.binary
5 io.streams.byte-array ;
6 IN: bitstreams.tests
7
8
9 [ BIN: 1111111111 ]
10 [
11     B{ HEX: 0f HEX: ff HEX: ff HEX: ff } <msb0-bit-reader>
12     2 >>byte-pos 6 >>bit-pos
13     10 swap peek
14 ] unit-test
15
16 [ BIN: 111111111 ]
17 [
18     B{ HEX: 0f HEX: ff HEX: ff HEX: ff } <msb0-bit-reader>
19     2 >>byte-pos 6 >>bit-pos
20     9 swap peek
21 ] unit-test
22
23 [ BIN: 11111111 ]
24 [
25     B{ HEX: 0f HEX: ff HEX: ff HEX: ff } <msb0-bit-reader>
26     2 >>byte-pos 6 >>bit-pos
27     8 swap peek
28 ] unit-test
29
30 [ BIN: 1111111 ]
31 [
32     B{ HEX: 0f HEX: ff HEX: ff HEX: ff } <msb0-bit-reader>
33     2 >>byte-pos 6 >>bit-pos
34     7 swap peek
35 ] unit-test
36
37 [ BIN: 111111 ]
38 [
39     B{ HEX: 0f HEX: ff HEX: ff HEX: ff } <msb0-bit-reader>
40     2 >>byte-pos 6 >>bit-pos
41     6 swap peek
42 ] unit-test
43
44 [ BIN: 11111 ]
45 [
46     B{ HEX: 0f HEX: ff HEX: ff HEX: ff } <msb0-bit-reader>
47     2 >>byte-pos 6 >>bit-pos
48     5 swap peek
49 ] unit-test
50
51 [ B{ } <msb0-bit-reader> 5 swap peek ] must-fail
52 [ B{ } <msb0-bit-reader> 1 swap peek ] must-fail
53 [ B{ } <msb0-bit-reader> 8 swap peek ] must-fail
54
55 [ 0 ] [ B{ } <msb0-bit-reader> 0 swap peek ] unit-test