2016-08-17 11:14:17 +00:00
|
|
|
port module Main exposing (..)
|
2016-03-11 23:44:46 +00:00
|
|
|
|
2016-08-17 11:14:17 +00:00
|
|
|
import Test.Runner.Node exposing (run)
|
|
|
|
import Json.Encode exposing (Value)
|
|
|
|
import Test exposing (..)
|
|
|
|
import Expect
|
2016-03-11 23:44:46 +00:00
|
|
|
import RNATranscription exposing (toRNA)
|
|
|
|
|
|
|
|
|
|
|
|
tests : Test
|
|
|
|
tests =
|
2016-08-17 11:14:17 +00:00
|
|
|
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")
|
2016-06-19 21:46:13 +00:00
|
|
|
]
|
2016-03-11 23:44:46 +00:00
|
|
|
|
|
|
|
|
2016-08-23 00:31:41 +00:00
|
|
|
main : Program Value
|
2016-05-13 02:26:52 +00:00
|
|
|
main =
|
2016-08-17 11:14:17 +00:00
|
|
|
run emit tests
|
|
|
|
|
|
|
|
|
|
|
|
port emit : ( String, Value ) -> Cmd msg
|