]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/tree/propagation/info/info-tests.factor
Update documentation for stricter vocabulary search path semantics
[factor.git] / basis / compiler / tree / propagation / info / info-tests.factor
1 USING: accessors math math.intervals sequences classes.algebra
2 kernel tools.test compiler.tree.propagation.info arrays ;
3 IN: compiler.tree.propagation.info.tests
4
5 [ f ] [ 0.0 -0.0 eql? ] unit-test
6
7 [ t ] [
8     number <class-info>
9     sequence <class-info>
10     value-info-intersect
11     class>> integer class=
12 ] unit-test
13
14 [ t t ] [
15     0 10 [a,b] <interval-info>
16     5 20 [a,b] <interval-info>
17     value-info-intersect
18     [ class>> real class= ]
19     [ interval>> 5 10 [a,b] = ]
20     bi
21 ] unit-test
22
23 [ float 10.0 t ] [
24     10.0 <literal-info>
25     10.0 <literal-info>
26     value-info-intersect
27     [ class>> ] [ >literal< ] bi
28 ] unit-test
29
30 [ null ] [
31     10 <literal-info>
32     10.0 <literal-info>
33     value-info-intersect
34     class>>
35 ] unit-test
36
37 [ fixnum 10 t ] [
38     10 <literal-info>
39     10 <literal-info>
40     value-info-union
41     [ class>> ] [ >literal< ] bi
42 ] unit-test
43
44 [ 3.0 t ] [
45     3 3 [a,b] <interval-info> float <class-info>
46     value-info-intersect >literal<
47 ] unit-test
48
49 [ 3 t ] [
50     2 3 (a,b] <interval-info> fixnum <class-info>
51     value-info-intersect >literal<
52 ] unit-test
53
54 [ T{ value-info f null empty-interval f f } ] [
55     fixnum -10 0 [a,b] <class/interval-info>
56     fixnum 19 29 [a,b] <class/interval-info>
57     value-info-intersect
58 ] unit-test
59
60 [ 3 t ] [
61     3 <literal-info>
62     null-info value-info-union >literal<
63 ] unit-test
64
65 [ ] [ { } value-infos-union drop ] unit-test
66
67 TUPLE: test-tuple { x read-only } ;
68
69 [ t ] [
70     f f 3 <literal-info> 3array test-tuple <tuple-info> dup
71     object-info value-info-intersect =
72 ] unit-test
73
74 [ t ] [
75     null-info 3 <literal-info> value-info<=
76 ] unit-test