Sha256: af12b5fdee73f0de77a1283a8c5e0e338571c6234f7320651f36c4ad9ef24255

Contents?: true

Size: 1.27 KB

Versions: 64

Compression:

Stored size: 1.27 KB

Contents

module LuhnTest

open NUnit.Framework
open Luhn
  
[<Test>]
let ``Check digit is the rightmost digit`` () =
    Assert.That(checkDigit 34567L, Is.EqualTo 7)

[<Test>]
[<Ignore("Remove to run test")>]
let ``Addends doubles every other number from the right`` () =
    Assert.That(addends 12121L, Is.EqualTo [1; 4; 1; 4; 1])

[<Test>]
[<Ignore("Remove to run test")>]
let ``Addends subtracts 9 when doubled number is more than 9`` () =
    Assert.That(addends 8631L, Is.EqualTo [7; 6; 6; 1])

[<TestCase(4913, ExpectedResult = 2)>]
[<TestCase(201773, ExpectedResult = 1)>]
let ``Checksum adds addends together`` (number) =
    checksum number

[<TestCase(738, ExpectedResult = false)>]
[<TestCase(8739567, ExpectedResult = true)>]
let ``Number is valid when checksum mod 10 is zero`` (number) =
    valid number

[<Test>]
[<Ignore("Remove to run test")>]
let ``Luhn can create simple numbers with valid check digit`` () =
    Assert.That(create 123L, Is.EqualTo(1230))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Luhn can create larger numbers with valid check digit`` () =
    Assert.That(create 873956L, Is.EqualTo(8739567))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Luhn can create huge numbers with valid check digit`` () =
    Assert.That(create 837263756L, Is.EqualTo(8372637564L))

Version data entries

64 entries across 64 versions & 1 rubygems

Version Path
trackler-2.0.6.8 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.6.7 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.6.6 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.6.5 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.6.4 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.6.3 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.6.2 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.6.1 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.6.0 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.18 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.17 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.16 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.15 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.14 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.13 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.12 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.11 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.10 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.9 tracks/fsharp/exercises/luhn/LuhnTest.fs
trackler-2.0.5.8 tracks/fsharp/exercises/luhn/LuhnTest.fs