]> gitweb.factorcode.org Git - factor.git/blob - core/math/parser/parser-tests.factor
require numeric literals to begin and end with a digit/decimal point so that stuff...
[factor.git] / core / math / parser / parser-tests.factor
1 USING: kernel math math.parser sequences tools.test ;
2 IN: math.parser.tests
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 [ 100000 ] [ "100,000" string>number ] unit-test
29
30 [ 100000.0 ] [ "100,000.0" string>number ] unit-test
31
32 [ f ] [ "," string>number ] unit-test
33 [ f ] [ "-," string>number ] unit-test
34 [ f ] [ "1," string>number ] unit-test
35 [ f ] [ "-1," string>number ] unit-test
36 [ f ] [ ",2" string>number ] unit-test
37 [ f ] [ "-,2" string>number ] unit-test
38
39 [ 2.0 ] [ "2." string>number ] unit-test
40
41 [ "100.0" ]
42 [ "1.0e2" string>number number>string ]
43 unit-test
44
45 [ "-100.0" ]
46 [ "-1.0e2" string>number number>string ]
47 unit-test
48
49 [ "0.01" ]
50 [ "1.0e-2" string>number number>string ]
51 unit-test
52
53 [ "-0.01" ]
54 [ "-1.0e-2" string>number number>string ]
55 unit-test
56
57 [ t ]
58 [ "-1.0e-12" string>number number>string { "-1.0e-12" "-1.0e-012" } member? ]
59 unit-test
60
61 [ f ]
62 [ "-1e-2e4" string>number ]
63 unit-test
64
65 [ "3.14" ]
66 [ "3.14" string>number number>string ]
67 unit-test
68
69 [ f ]
70 [ "." string>number ]
71 unit-test
72
73 [ f ]
74 [ ".e" string>number ]
75 unit-test
76
77 [ "101.0" ]
78 [ "1.01e2" string>number number>string ]
79 unit-test
80
81 [ "-101.0" ]
82 [ "-1.01e2" string>number number>string ]
83 unit-test
84
85 [ "1.01" ]
86 [ "101.0e-2" string>number number>string ]
87 unit-test
88
89 [ "-1.01" ]
90 [ "-101.0e-2" string>number number>string ]
91 unit-test
92
93 [ f ]
94 [ "1e1/2" string>number ]
95 unit-test
96
97 [ f ]
98 [ "e/2" string>number ]
99 unit-test
100
101 [ f ] [ "12" bin> ] unit-test
102 [ f ] [ "fdsf" bin> ] unit-test
103 [ 3 ] [ "11" bin> ] unit-test
104
105 [ f ] [ "\0." string>number ] unit-test
106
107 [ 1 1 >base ] must-fail
108 [ 1 0 >base ] must-fail
109 [ 1 -1 >base ] must-fail
110
111 [ "0/0." ] [ 0.0 0.0 / number>string ] unit-test
112
113 [ "1/0." ] [ 1.0 0.0 / number>string ] unit-test
114
115 [ "-1/0." ] [ -1.0 0.0 / number>string ] unit-test
116
117 [ t ] [ "0/0." string>number fp-nan? ] unit-test
118
119 [ 1/0. ] [ "1/0." string>number ] unit-test
120
121 [ -1/0. ] [ "-1/0." string>number ] unit-test
122
123 [ "-0.0" ] [ -0.0 number>string ] unit-test
124
125 [ "-3/4" ] [ -3/4 number>string ] unit-test
126 [ "-1-1/4" ] [ -5/4 number>string ] unit-test