elm/exercises/rna-transcription/RNATranscriptionTests.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

35 lines
1.1 KiB
Elm

port module Main exposing (..)
import Test.Runner.Node exposing (run)
import Json.Encode exposing (Value)
import Test exposing (..)
import Expect
import RNATranscription exposing (toRNA)
tests : Test
tests =
describe "RNATranscription"
[ test "complement of cytosine is guanine" <|
\() -> Expect.equal (Ok "G") (toRNA "C")
, test "complement of guanine is cytosine" <|
\() -> Expect.equal (Ok "C") (toRNA "G")
, test "complement of thymine is adenine" <|
\() -> Expect.equal (Ok "A") (toRNA "T")
, test "complement of adenine is uracil" <|
\() -> Expect.equal (Ok "U") (toRNA "A")
, test "complement" <|
\() -> Expect.equal (Ok "UGCACCAGAAUU") (toRNA "ACGTGGTCTTAA")
, test "correctly handles completely invalid input" <|
\() -> Expect.equal (Err 'X') (toRNA "XXX")
, test "correctly handles partially invalid input" <|
\() -> Expect.equal (Err 'U') (toRNA "UGAAXXXGACAUG")
]
main : Program Never
main =
run emit tests
port emit : ( String, Value ) -> Cmd msg