elm/exercises/scrabble-score/tests/Tests.elm
2017-05-28 08:14:40 +02:00

33 lines
1.1 KiB
Elm

module Tests exposing (..)
import Test exposing (..)
import Expect
import ScrabbleScore exposing (scoreWord)
tests : Test
tests =
describe "Grains"
[ test "lowercase letter" <|
\() -> Expect.equal 1 (scoreWord "a")
, test "uppercase letter" <|
\() -> Expect.equal 1 (scoreWord "A")
, test "valuable letter" <|
\() -> Expect.equal 4 (scoreWord "f")
, test "short word" <|
\() -> Expect.equal 2 (scoreWord "at")
, test "short, valuable word" <|
\() -> Expect.equal 12 (scoreWord "zoo")
, test "medium word" <|
\() -> Expect.equal 6 (scoreWord "street")
, test "medium, valuable word" <|
\() -> Expect.equal 22 (scoreWord "quirky")
, test "long, mixed-case word" <|
\() -> Expect.equal 41 (scoreWord "OxyphenButazone")
, test "english-like word" <|
\() -> Expect.equal 8 (scoreWord "pinata")
, test "non-english letter is not scored" <|
\() -> Expect.equal 7 (scoreWord "piñata")
, test "empty input" <|
\() -> Expect.equal 0 (scoreWord "")
]