]> gitweb.factorcode.org Git - factor.git/blob - basis/bit-arrays/bit-arrays-tests.factor
Fix permission bits
[factor.git] / basis / bit-arrays / bit-arrays-tests.factor
1 USING: sequences sequences.private arrays bit-arrays kernel
2 tools.test math random ;
3 IN: bit-arrays.tests
4
5 [ 100 ] [ 100 <bit-array> length ] unit-test
6
7 [
8     { t f t }
9 ] [
10     3 <bit-array> t 0 pick set-nth t 2 pick set-nth
11     >array
12 ] unit-test
13
14 [
15     { t f t }
16 ] [
17     { t f t } >bit-array >array
18 ] unit-test
19
20 [
21     { t f t } { f t f }
22 ] [
23     { t f t } >bit-array dup clone dup [ not ] change-each
24     [ >array ] bi@
25 ] unit-test
26
27 [
28     { f f f f f }
29 ] [
30     { t f t t f } >bit-array dup clear-bits >array
31 ] unit-test
32
33 [
34     { t t t t t }
35 ] [
36     { t f t t f } >bit-array dup set-bits >array
37 ] unit-test
38
39 [ t ] [
40     100 [
41         drop 100 [ 2 random zero? ] replicate
42         dup >bit-array >array =
43     ] all?
44 ] unit-test
45
46 [ ?{ f } ] [
47     1 2 { t f t f } <slice> >bit-array
48 ] unit-test
49
50 [ ?{ f t } ] [ 0 2 ?{ f t f } subseq ] unit-test
51
52 [ ?{ t f t f f f } ] [ 6 ?{ t f t } resize ] unit-test
53
54 [ ?{ t t } ] [ 2 ?{ t t f t f t f t t t f t } resize ] unit-test
55
56 [ -10 ?{ } resize ] must-fail
57
58 [ -1 integer>bit-array ] must-fail
59 [ ?{ } ] [ 0 integer>bit-array ] unit-test
60 [ ?{ f t } ] [ 2 integer>bit-array ] unit-test
61 [ ?{ t t t t t t t t t } ] [ 511 integer>bit-array ] unit-test
62 [ ?{ 
63     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
64     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
65     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
66     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
67 } ] [
68     HEX: ffffffffffffffffffffffffffffffff integer>bit-array
69 ] unit-test
70
71 [ 14 ] [ ?{ f t t t } bit-array>integer ] unit-test
72 [ 0 ] [ ?{ } bit-array>integer ] unit-test
73 [ HEX: ffffffffffffffffffffffffffffffff ] [ ?{
74     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
75     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
76     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
77     t t t t t t t t   t t t t t t t t   t t t t t t t t  t t t t t t t t
78 } bit-array>integer ] unit-test