Sha256: ceac396fba88fb612b66896d6e9072526e07a9311c836ab4b4fe7e12d7ded7eb

Contents?: true

Size: 1.04 KB

Versions: 154

Compression:

Stored size: 1.04 KB

Contents

(* version 1.0.1 *)

use "testlib.sml";
use "rna-transcription.sml";

infixr |>
fun x |> f = f x

val testsuite =
  describe "rna-transcription" [
    test "RNA complement of cytosine is guanine"
      (fn _ => toRna ("C") |> Expect.equalTo (SOME "G")),

    test "RNA complement of guanine is cytosine"
      (fn _ => toRna ("G") |> Expect.equalTo (SOME "C")),

    test "RNA complement of thymine is adenine"
      (fn _ => toRna ("T") |> Expect.equalTo (SOME "A")),

    test "RNA complement of adenine is uracil"
      (fn _ => toRna ("A") |> Expect.equalTo (SOME "U")),

    test "RNA complement"
      (fn _ => toRna ("ACGTGGTCTTAA") |> Expect.equalTo (SOME "UGCACCAGAAUU")),

    test "correctly handles invalid input (RNA instead of DNA)"
      (fn _ => toRna ("U") |> Expect.equalTo NONE),

    test "correctly handles completely invalid DNA input"
      (fn _ => toRna ("XXX") |> Expect.equalTo NONE),

    test "correctly handles partially invalid DNA input"
      (fn _ => toRna ("ACGTXXXCTTAA") |> Expect.equalTo NONE)
  ]

val _ = Test.run testsuite

Version data entries

154 entries across 154 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.179 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.178 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.177 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.176 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.175 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.174 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.173 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.172 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.171 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.170 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.169 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.167 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.166 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.165 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.164 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.163 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.162 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.161 tracks/sml/exercises/rna-transcription/test.sml
trackler-2.2.1.160 tracks/sml/exercises/rna-transcription/test.sml