@@ -3,16 +3,49 @@ module Test.Main where
33import Prelude
44
55import Data.Maybe (Maybe (..), fromMaybe )
6- import Data.Number (nan , isNaN , infinity , isFinite , fromString )
7- import Data.Number.Format (precision , fixed , exponential , toStringWith ,
8- toString )
9- import Data.Number.Approximate (Fraction (..), Tolerance (..), eqRelative ,
10- eqAbsolute , (≅), (≇))
11-
126import Effect (Effect )
137import Effect.Console (log )
14- import Test.Assert (assertTrue' , assertFalse' , assertEqual )
158
9+ import Data.Number (isFinite , infinity ,nan , isNaN , fromString )
10+ import Data.Number.Format (precision , fixed , exponential , toStringWith , toString )
11+ import Data.Number.Approximate (Fraction (..), Tolerance (..), eqRelative , eqAbsolute , (≅), (≇))
12+
13+ import Test.Assert (assert , assertTrue' , assertFalse' , assertEqual )
14+
15+ main :: Effect Unit
16+ main = do
17+ globalsTestCode
18+ numbersTestCode
19+
20+ -- Test code for the `purescript-globals` repo before its' Number-related
21+ -- code was moved into this repo
22+ globalsTestCode :: Effect Unit
23+ globalsTestCode = do
24+ let num = 12345.6789
25+
26+ log " nan /= nan"
27+ assert $ nan /= nan
28+
29+ log " not (isNaN 6.0)"
30+ assert $ not (isNaN 6.0 )
31+
32+ log " isNaN nan"
33+ assert $ isNaN nan
34+
35+ log " infinity > 0.0"
36+ assert $ infinity > 0.0
37+
38+ log " -infinity < 0.0"
39+ assert $ -infinity < 0.0
40+
41+ log " not (isFinite infinity)"
42+ assert $ not (isFinite infinity)
43+
44+ log " isFinite 0.0"
45+ assert $ isFinite 0.0
46+
47+ -- Test code originally in this repo before parts of deprecated
48+ -- `purescript-globals` repo was moved to this repo.
1649
1750-- | Comparison up to 10% relative error.
1851eqRelative' :: Number -> Number -> Boolean
@@ -26,8 +59,8 @@ eqAbsolute' = eqAbsolute (Tolerance 0.1)
2659
2760infix 1 eqAbsolute' as =~=
2861
29- main :: Effect Unit
30- main = do
62+ numbersTestCode :: Effect Unit
63+ numbersTestCode = do
3164
3265
3366 log " Data.Number.fromString"
0 commit comments