Sha256: c17f5a5e5551947e8f0511f7e80ec7b1f9f7c0fe91b5b4f2639f502a177c3eb4

Contents?: true

Size: 1.65 KB

Versions: 141

Compression:

Stored size: 1.65 KB

Contents

port module Main exposing (..)

import Test.Runner.Node exposing (run, TestProgram)
import Json.Encode exposing (Value)
import Test exposing (..)
import Expect
import Series exposing (slices)


tests : Test
tests =
    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")
        ]


main : TestProgram
main =
    run emit tests


port emit : ( String, Value ) -> Cmd msg

Version data entries

141 entries across 141 versions & 1 rubygems

Version Path
trackler-2.1.0.23 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.22 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.21 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.20 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.19 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.18 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.17 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.16 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.15 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.14 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.13 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.12 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.11 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.10 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.9 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.8 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.7 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.6 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.5 tracks/elm/exercises/series/Tests.elm
trackler-2.1.0.4 tracks/elm/exercises/series/Tests.elm