Sha256: f648105140cc4c52d15f750f3103f95eec4371c24faa20088821bad030031b31

Contents?: true

Size: 721 Bytes

Versions: 154

Compression:

Stored size: 721 Bytes

Contents

(* version 1.1.1 *)

use "testlib.sml";
use "collatz-conjecture.sml";

infixr |>
fun x |> f = f x

val testsuite =
  describe "collatz-conjecture" [
    test "zero steps for one"
      (fn _ => steps (1) |> Expect.equalTo 0),

    test "divide if even"
      (fn _ => steps (16) |> Expect.equalTo 4),

    test "even and odd steps"
      (fn _ => steps (12) |> Expect.equalTo 9),

    test "Large number of even and odd steps"
      (fn _ => steps (1000000) |> Expect.equalTo 152),

    test "zero is an error"
      (fn _ => (fn _ => steps (0)) |> Expect.error NegativeInteger),

    test "negative value is an error"
      (fn _ => (fn _ => steps (~15)) |> Expect.error NegativeInteger)
  ]

val _ = Test.run testsuite

Version data entries

154 entries across 154 versions & 1 rubygems

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