elm/exercises/pangram/PangramTests.elm
Erik Simmler 54e3017815 Update to elm-test 2.0 (#96)
* Update exercises to elm-test 2.0

* Update docs to mention `elm-test` again

* Update .travis.yml to the correct version of elm-test

* Conform to the `<| \() ->` convention
2016-08-17 07:14:17 -04:00

57 lines
1.9 KiB
Elm

port module Main exposing (..)
import Test.Runner.Node exposing (run)
import Json.Encode exposing (Value)
import Test exposing (..)
import Expect
import Pangram exposing (isPangram)
tests : Test
tests =
describe "Pangram"
[ test "sentence empty" <|
\() ->
Expect.equal False
(isPangram "")
, test "pangram with only lower case" <|
\() ->
Expect.equal True
(isPangram "the quick brown fox jumps over the lazy dog")
, test "missing character 'x'" <|
\() ->
Expect.equal False
(isPangram "a quick movement of the enemy will jeopardize five gunboats")
, test "another missing character 'x'" <|
\() ->
Expect.equal False
(isPangram "the quick brown fish jumps over the lazy dog")
, test "pangram with underscores" <|
\() ->
Expect.equal True
(isPangram "the_quick_brown_fox_jumps_over_the_lazy_dog")
, test "pangram with numbers" <|
\() ->
Expect.equal True
(isPangram "the 1 quick brown fox jumps over the 2 lazy dogs")
, test "missing letters replaced by numbers" <|
\() ->
Expect.equal False
(isPangram "7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog")
, test "pangram with mixed case and punctuation" <|
\() ->
Expect.equal True
(isPangram "\"Five quacking Zephyrs jolt my wax bed.\"")
, test "pangram with non ascii characters" <|
\() ->
Expect.equal True
(isPangram "Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich.")
]
main : Program Never
main =
run emit tests
port emit : ( String, Value ) -> Cmd msg