]> gitweb.factorcode.org Git - factor.git/blob - library/test/parse-number.factor
3e8a9cd79cbc722ee05c22dc75fae2fa6db52a22
[factor.git] / library / test / parse-number.factor
1 IN: temporary
2 USING: errors kernel math parser sequences test ;
3
4 [ f ]
5 [ f string>number ]
6 unit-test
7
8 [ f ]
9 [ "12345abcdef" string>number ]
10 unit-test
11
12 [ t ]
13 [ "-12" string>number 0 < ]
14 unit-test
15
16 [ f ]
17 [ "--12" string>number ]
18 unit-test
19
20 [ f ]
21 [ "-" string>number ]
22 unit-test
23
24 [ f ]
25 [ "e" string>number ]
26 unit-test
27
28 [ "100.0" ]
29 [ "1.0e2" string>number number>string ]
30 unit-test
31
32 [ "-100.0" ]
33 [ "-1.0e2" string>number number>string ]
34 unit-test
35
36 [ "0.01" ]
37 [ "1.0e-2" string>number number>string ]
38 unit-test
39
40 [ "-0.01" ]
41 [ "-1.0e-2" string>number number>string ]
42 unit-test
43
44 [ f ]
45 [ "-1e-2e4" string>number ]
46 unit-test
47
48 [ "3.14" ]
49 [ "3.14" string>number number>string ]
50 unit-test
51
52 [ f ]
53 [ "." string>number ]
54 unit-test
55
56 [ f ]
57 [ ".e" string>number ]
58 unit-test
59
60 [ "101.0" ]
61 [ "1.01e2" string>number number>string ]
62 unit-test
63
64 [ "-101.0" ]
65 [ "-1.01e2" string>number number>string ]
66 unit-test
67
68 [ "1.01" ]
69 [ "101.0e-2" string>number number>string ]
70 unit-test
71
72 [ "-1.01" ]
73 [ "-101.0e-2" string>number number>string ]
74 unit-test
75
76 [ 5 ]
77 [ "10/2" string>number ]
78 unit-test
79
80 [ -5 ]
81 [ "-10/2" string>number ]
82 unit-test
83
84 [ -5 ]
85 [ "10/-2" string>number ]
86 unit-test
87
88 [ 5 ]
89 [ "-10/-2" string>number ]
90 unit-test
91
92 [ 5.0 ]
93 [ "10.0/2" string>number ]
94 unit-test
95
96 [ f ]
97 [ "1e1/2" string>number ]
98 unit-test
99
100 [ f ]
101 [ "e/2" string>number ]
102 unit-test
103
104 [ "33/100" ]
105 [ "66/200" string>number number>string ]
106 unit-test
107
108 [ f ] [ "12" bin> ] unit-test
109 [ f ] [ "fdsf" bin> ] unit-test
110 [ 3 ] [ "11" bin> ] unit-test
111
112 [ t ] [
113     { "1.0/0.0" "-1.0/0.0" "0.0/0.0" }
114     [ dup string>number number>string = ] all?
115 ] unit-test
116
117 [ t ] [
118     { 1.0/0.0 -1.0/0.0 0.0/0.0 }
119     [ dup number>string string>number = ] all?
120 ] unit-test