146 lines
1.5 KiB
Factor
146 lines
1.5 KiB
Factor
|
IN: scratchpad
|
||
|
USE: arithmetic
|
||
|
USE: parser
|
||
|
USE: stdio
|
||
|
USE: strings
|
||
|
USE: test
|
||
|
|
||
|
"Parse number tests" print
|
||
|
|
||
|
[ f ]
|
||
|
[ f ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "12345abcdef" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ t ]
|
||
|
[ "-12" ]
|
||
|
[ parse-number 0 < ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "--12" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "-" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "e" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ "100.0" ]
|
||
|
[ "1e2" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ "-100.0" ]
|
||
|
[ "-1e2" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ "0.01" ]
|
||
|
[ "1e-2" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ "-0.01" ]
|
||
|
[ "-1e-2" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "-1e-2e4" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ "3.14" ]
|
||
|
[ "3.14" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "." ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ ".e" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ "101.0" ]
|
||
|
[ "1.01e2" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ "-101.0" ]
|
||
|
[ "-1.01e2" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ "1.01" ]
|
||
|
[ "101e-2" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ "-1.01" ]
|
||
|
[ "-101e-2" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ "123456789123456789123456789" ]
|
||
|
[ "123456789123456789123456789" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
[ 5 ]
|
||
|
[ "10/2" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ -5 ]
|
||
|
[ "-10/2" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "10/-2" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "-10/-2" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "10.0/2" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "1e1/2" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ f ]
|
||
|
[ "e/2" ]
|
||
|
[ parse-number ]
|
||
|
test-word
|
||
|
|
||
|
[ "33/100" ]
|
||
|
[ "66/200" ]
|
||
|
[ parse-number >str ]
|
||
|
test-word
|
||
|
|
||
|
"Parse number tests done" print
|