]> gitweb.factorcode.org Git - factor.git/blob - basis/bit-sets/bit-sets-tests.factor
factor: Retrying on the unit tests. Also normalize some syntax with FUNCTION:.
[factor.git] / basis / bit-sets / bit-sets-tests.factor
1 USING: bit-sets tools.test sets kernel bit-arrays ;
2 IN: bit-sets.tests
3
4 { T{ bit-set f ?{ t f t f t f } } } [
5     T{ bit-set f ?{ t f f f t f } }
6     T{ bit-set f ?{ f f t f t f } } union
7 ] unit-test
8
9 { T{ bit-set f ?{ f f f f t f } } } [
10     T{ bit-set f ?{ t f f f t f } }
11     T{ bit-set f ?{ f f t f t f } } intersect
12 ] unit-test
13
14 { f } [ T{ bit-set f ?{ t f f f t f } } null? ] unit-test
15 { t } [ T{ bit-set f ?{ f f f f f f } } null? ] unit-test
16
17 { T{ bit-set f ?{ t f t f f f } } } [
18     T{ bit-set f ?{ t t t f f f } }
19     T{ bit-set f ?{ f t f f t t } } diff
20 ] unit-test
21
22 { f } [
23     T{ bit-set f ?{ t t t f f f } }
24     T{ bit-set f ?{ f t f f t t } } subset?
25 ] unit-test
26
27 { t } [
28     T{ bit-set f ?{ t t t f f f } }
29     T{ bit-set f ?{ f t f f f f } } subset?
30 ] unit-test
31
32 { t } [
33     { 0 1 2 }
34     T{ bit-set f ?{ f t f f f f } } subset?
35 ] unit-test
36
37 { f } [
38     T{ bit-set f ?{ f t f f f f } }
39     T{ bit-set f ?{ t t t f f f } } subset?
40 ] unit-test
41
42 { f } [
43     { 1 }
44     T{ bit-set f ?{ t t t f f f } } subset?
45 ] unit-test
46
47 { V{ 0 2 5 } } [ T{ bit-set f ?{ t f t f f t } } members ] unit-test
48
49 { t V{ 1 2 3 } } [
50     { 1 2 } 5 <bit-set> set-like
51     [ bit-set? ] keep
52     3 over adjoin
53     members
54 ] unit-test
55
56 { V{ 0 1 2 5 } } [ T{ bit-set f ?{ t f t f f t } } clone [ 1 swap adjoin ] keep members ] unit-test
57 [ T{ bit-set f ?{ t f t f f t } } clone [ 9 swap adjoin ] keep members ] must-fail
58 [ T{ bit-set f ?{ t f t f f t } } clone [ "foo" swap adjoin ] keep members ] must-fail
59
60 { V{ 2 5 } } [ T{ bit-set f ?{ t f t f f t } } clone [ 0 swap delete ] keep members ] unit-test
61 { V{ 0 2 5 } } [ T{ bit-set f ?{ t f t f f t } } clone [ 1 swap delete ] keep members ] unit-test
62 { V{ 0 2 5 } } [ T{ bit-set f ?{ t f t f f t } } clone [ 9 swap delete ] keep members ] unit-test
63 { V{ 0 2 5 } } [ T{ bit-set f ?{ t f t f f t } } clone [ "foo" swap delete ] keep members ] unit-test
64
65 { T{ bit-set f ?{ f } } T{ bit-set f ?{ t } } }
66 [ 1 <bit-set> dup clone 0 over adjoin ] unit-test
67
68 { 0 } [ T{ bit-set f ?{ } } cardinality ] unit-test
69 { 0 } [ T{ bit-set f ?{ f f f f } } cardinality ] unit-test
70 { 1 } [ T{ bit-set f ?{ f t f f } } cardinality ] unit-test
71 { 2 } [ T{ bit-set f ?{ f t f t } } cardinality ] unit-test