mirror of
https://github.com/correl/elm.git
synced 2024-11-16 03:00:08 +00:00
67 lines
1.4 KiB
Elm
67 lines
1.4 KiB
Elm
|
module Main (..) where
|
||
|
|
||
|
import Task
|
||
|
import Console
|
||
|
import ElmTest exposing (..)
|
||
|
import Series exposing (slices)
|
||
|
|
||
|
|
||
|
tests : Test
|
||
|
tests =
|
||
|
suite
|
||
|
"Series"
|
||
|
[ test
|
||
|
"slices of one"
|
||
|
(assertEqual
|
||
|
(Ok [ [ 0 ], [ 1 ], [ 2 ], [ 3 ], [ 4 ] ])
|
||
|
(slices 1 "01234")
|
||
|
)
|
||
|
, test
|
||
|
"slices of two"
|
||
|
(assertEqual
|
||
|
(Ok [ [ 9, 7 ], [ 7, 8 ], [ 8, 6 ], [ 6, 7 ], [ 7, 5 ], [ 5, 6 ], [ 6, 4 ] ])
|
||
|
(slices 2 "97867564")
|
||
|
)
|
||
|
, test
|
||
|
"slices of three"
|
||
|
(assertEqual
|
||
|
(Ok [ [ 9, 7, 8 ], [ 7, 8, 6 ], [ 8, 6, 7 ], [ 6, 7, 5 ], [ 7, 5, 6 ], [ 5, 6, 4 ] ])
|
||
|
(slices 3 "97867564")
|
||
|
)
|
||
|
, test
|
||
|
"slices of four"
|
||
|
(assertEqual
|
||
|
(Ok [ [ 0, 1, 2, 3 ], [ 1, 2, 3, 4 ] ])
|
||
|
(slices 4 "01234")
|
||
|
)
|
||
|
, test
|
||
|
"slices of five"
|
||
|
(assertEqual
|
||
|
(Ok [ [ 0, 1, 2, 3, 4 ] ])
|
||
|
(slices 5 "01234")
|
||
|
)
|
||
|
, test
|
||
|
"overly long slice"
|
||
|
(assertEqual
|
||
|
(Ok [])
|
||
|
(slices 4 "012")
|
||
|
)
|
||
|
, test
|
||
|
"overly short slice"
|
||
|
(assertEqual
|
||
|
(Err ("Invalid size: 0"))
|
||
|
(slices 0 "01234")
|
||
|
)
|
||
|
, test
|
||
|
"input has non numbers"
|
||
|
(assertEqual
|
||
|
(Err "could not convert string 'a' to an Int")
|
||
|
(slices 2 "0123abc")
|
||
|
)
|
||
|
]
|
||
|
|
||
|
|
||
|
port runner : Signal (Task.Task x ())
|
||
|
port runner =
|
||
|
Console.run (consoleRunner tests)
|