2017-05-27 17:56:31 +00:00
|
|
|
module Tests exposing (..)
|
2016-03-27 11:29:28 +00:00
|
|
|
|
2016-08-17 11:14:17 +00:00
|
|
|
import Test exposing (..)
|
|
|
|
import Expect
|
2016-03-27 11:29:28 +00:00
|
|
|
import Series exposing (slices)
|
|
|
|
|
|
|
|
|
|
|
|
tests : Test
|
|
|
|
tests =
|
2016-08-17 11:14:17 +00:00
|
|
|
describe "Series"
|
|
|
|
[ test "slices of one" <|
|
|
|
|
\() ->
|
|
|
|
Expect.equal (Ok [ [ 0 ], [ 1 ], [ 2 ], [ 3 ], [ 4 ] ])
|
|
|
|
(slices 1 "01234")
|
|
|
|
, test "slices of two" <|
|
|
|
|
\() ->
|
|
|
|
Expect.equal (Ok [ [ 9, 7 ], [ 7, 8 ], [ 8, 6 ], [ 6, 7 ], [ 7, 5 ], [ 5, 6 ], [ 6, 4 ] ])
|
|
|
|
(slices 2 "97867564")
|
|
|
|
, test "slices of three" <|
|
|
|
|
\() ->
|
|
|
|
Expect.equal (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" <|
|
|
|
|
\() ->
|
|
|
|
Expect.equal (Ok [ [ 0, 1, 2, 3 ], [ 1, 2, 3, 4 ] ])
|
|
|
|
(slices 4 "01234")
|
|
|
|
, test "slices of five" <|
|
|
|
|
\() ->
|
|
|
|
Expect.equal (Ok [ [ 0, 1, 2, 3, 4 ] ])
|
|
|
|
(slices 5 "01234")
|
|
|
|
, test "overly long slice" <|
|
|
|
|
\() ->
|
|
|
|
Expect.equal (Ok [])
|
|
|
|
(slices 4 "012")
|
|
|
|
, test "overly short slice" <|
|
|
|
|
\() ->
|
|
|
|
Expect.equal (Err ("Invalid size: 0"))
|
|
|
|
(slices 0 "01234")
|
|
|
|
, test "input has non numbers" <|
|
|
|
|
\() ->
|
|
|
|
Expect.equal (Err "could not convert string 'a' to an Int")
|
|
|
|
(slices 2 "0123abc")
|
2016-06-19 21:46:13 +00:00
|
|
|
]
|