Sha256: 783596a753cb65ba264652b9fcd9d22edd01450bf53f7e90df9b614bd8e14179

Contents?: true

Size: 1.22 KB

Versions: 67

Compression:

Stored size: 1.22 KB

Contents

module AlphameticsTest

open NUnit.Framework

open Alphametics

[<Test>]
let ``Can solve short puzzles`` () =
    let actual = solve "I + BB == ILL"
    let expected = ['I', 1; 'B', 9; 'L', 0] |> Map.ofList |> Some
    Assert.That(actual, Is.EqualTo(expected))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Can solve long puzzles`` () =
    let actual = solve "SEND + MORE == MONEY"
    let expected = ['S', 9; 'E', 5; 'N', 6; 'D', 7; 'M', 1; 'O', 0; 'R', 8; 'Y', 2] |> Map.ofList |> Some
    Assert.That(actual, Is.EqualTo(expected))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Can solve puzzles with multiplication`` () =
    let actual = solve "IF * DR == DORI"
    let expected = ['I', 8; 'F', 2; 'D', 3; 'R', 9; 'O', 1] |> Map.ofList |> Some
    Assert.That(actual, Is.EqualTo(expected))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Can solve puzzles with any boolean expression`` () =
    let actual = solve "PI * R ^ 2 == AREA"
    let expected = ['P', 9; 'I', 6; 'R', 7; 'A', 4; 'E', 0] |> Map.ofList |> Some
    Assert.That(actual, Is.EqualTo(expected))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Cannot solve unsolvable puzzles`` () =
    let actual = solve "A * B == A + B"
    Assert.That(actual, Is.EqualTo(None))

Version data entries

67 entries across 67 versions & 1 rubygems

Version Path
trackler-2.0.6.11 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.10 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.9 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.8 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.7 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.6 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.5 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.4 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.3 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.2 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.1 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.6.0 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.5.18 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.5.17 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.5.16 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.5.15 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.5.14 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.5.13 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.5.12 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs
trackler-2.0.5.11 tracks/fsharp/exercises/alphametics/AlphameticsTest.fs