]> gitweb.factorcode.org Git - factor.git/blob - basis/bitstreams/bitstreams-tests.factor
use radix literals
[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 [ 0b1111111111 ]
9 [
10     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
11     2 >>byte-pos 6 >>bit-pos
12     10 swap peek
13 ] unit-test
14
15 [ 0b111111111 ]
16 [
17     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
18     2 >>byte-pos 6 >>bit-pos
19     9 swap peek
20 ] unit-test
21
22 [ 0b11111111 ]
23 [
24     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
25     2 >>byte-pos 6 >>bit-pos
26     8 swap peek
27 ] unit-test
28
29 [ 0b1111111 ]
30 [
31     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
32     2 >>byte-pos 6 >>bit-pos
33     7 swap peek
34 ] unit-test
35
36 [ 0b111111 ]
37 [
38     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
39     2 >>byte-pos 6 >>bit-pos
40     6 swap peek
41 ] unit-test
42
43 [ 0b11111 ]
44 [
45     B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
46     2 >>byte-pos 6 >>bit-pos
47     5 swap peek
48 ] unit-test
49
50 [ B{ } <msb0-bit-reader> 5 swap peek ] must-fail
51 [ B{ } <msb0-bit-reader> 1 swap peek ] must-fail
52 [ B{ } <msb0-bit-reader> 8 swap peek ] must-fail
53
54 [ 0 ] [ B{ } <msb0-bit-reader> 0 swap peek ] unit-test