Sha256: fb0998c83e3a4320ac16029a2ce1509cb22a6408cc8ee23ae9dac912693da441

Contents?: true

Size: 906 Bytes

Versions: 159

Compression:

Stored size: 906 Bytes

Contents

(* version 1.0.0 *)

use "prime-factors.sml";
use "testlib.sml";

infixr |>
fun x |> f = f x

val testsuite =
  describe "prime-factors" [
    describe "returns prime factors for the given input number" [
      test "no factors"
        (fn _ => factors (1) |> Expect.equalTo []),

      test "prime number"
        (fn _ => factors (2) |> Expect.equalTo [2]),

      test "square of a prime"
        (fn _ => factors (9) |> Expect.equalTo [3, 3]),

      test "cube of a prime"
        (fn _ => factors (8) |> Expect.equalTo [2, 2, 2]),

      test "product of primes and non-primes"
        (fn _ => factors (12) |> Expect.equalTo [2, 2, 3]),

      test "product of primes"
        (fn _ => factors (901255) |> Expect.equalTo [5, 17, 23, 461]),

      test "factors include a large prime"
        (fn _ => factors (93819012551) |> Expect.equalTo [11, 9539, 894119])
    ]
  ]

val _ = Test.run testsuite

Version data entries

159 entries across 159 versions & 1 rubygems

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