elm/exercises/nucleotide-count/NucleotideCountTests.elm

36 lines
1.1 KiB
Elm
Raw Normal View History

port module Main exposing (..)
2016-03-17 01:36:38 +00:00
import Test.Runner.Node exposing (run)
import Json.Encode exposing (Value)
import Test exposing (..)
import Expect
import NucleotideCount exposing (nucleotideCounts, version)
2016-03-17 01:36:38 +00:00
2016-03-17 01:36:38 +00:00
tests : Test
tests =
describe "NucleotideCount"
[ test "the solution is for the correct version of the test" <|
\() -> Expect.equal 2 version
, test "empty dna strand has no nucleotides" <|
\() ->
Expect.equal { a = 0, t = 0, c = 0, g = 0 }
(nucleotideCounts "")
, test "repetitive-sequence-has-only-guanosine" <|
\() ->
Expect.equal { a = 0, t = 0, c = 0, g = 8 }
(nucleotideCounts "GGGGGGGG")
, test "counts all nucleotides" <|
\() ->
Expect.equal { a = 20, t = 21, c = 12, g = 17 }
(nucleotideCounts "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC")
]
2016-03-17 01:36:38 +00:00
main : Program Value
main =
run emit tests
port emit : ( String, Value ) -> Cmd msg