elm/exercises/run-length-encoding/RunLengthEncodingTests.elm

55 lines
1.3 KiB
Elm

module Main exposing (..)
import ElmTest exposing (..)
import RunLengthEncoding exposing (version, decode, encode)
tests : Test
tests =
suite
"RunLengthEncoding"
[ test
"the solution is for the correct version of the test"
(assertEqual 2 version)
, test
"encode simple"
(assertEqual "2A3B4C" (encode "AABBBCCCC"))
, test
"decode simple"
(assertEqual "AABBBCCCC" (decode "2A3B4C"))
, test
"encode with single values"
(assertEqual
"12WB12W3B24WB"
(encode "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB")
)
, test
"decode with single values"
(assertEqual
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"
(decode "12WB12W3B24WB")
)
, test
"(decode (encode (...)) combination"
(assertEqual
"zzz ZZ zZ"
(decode (encode "zzz ZZ zZ"))
)
, test
"decode with a x10 value"
(assertEqual
"WWWWWWWWWW"
(decode "10W")
)
, test
"encode unicode"
(assertEqual "32" (encode ""))
, test
"decode unicode"
(assertEqual "" (decode "32"))
]
main : Program Never
main =
runSuite tests