Sha256: 5c5ca5be2bae5b5c45f2c2e516e95811985e17ce9d29a6aa58930df2f0912cc5

Contents?: true

Size: 1.14 KB

Versions: 12

Compression:

Stored size: 1.14 KB

Contents

module BowlingTest

open NUnit.Framework

open Bowling

let rollMany pins count game =
    List.replicate count pins
    |> List.fold (fun acc item -> roll item acc) game

let rollSpare game = 
    game
    |> roll 5
    |> roll 5

let rollStrike game = game |> roll 10

[<Test>]
let ``Gutter game`` () =
    let result = newGame |> rollMany 0 20
    Assert.That(score result, Is.EqualTo(0))

[<Test>]
[<Ignore("Remove to run test")>]
let ``All ones game`` () =
    let result = newGame |> rollMany 1 20
    Assert.That(score result, Is.EqualTo(20))

[<Test>]
[<Ignore("Remove to run test")>]
let ``One spare game`` () =
    let result = 
        newGame
        |> rollSpare
        |> roll 3
        |> rollMany 0 17

    Assert.That(score result, Is.EqualTo(16))

[<Test>]
[<Ignore("Remove to run test")>]
let ``One strike game`` () =
    let result = 
        newGame
        |> rollStrike
        |> roll 3
        |> roll 4
        |> rollMany 0 16

    Assert.That(score result, Is.EqualTo(24))

[<Test>]
[<Ignore("Remove to run test")>]
let ``Perfect game`` () =
    let result = newGame |> rollMany 10 12

    Assert.That(score result, Is.EqualTo(300))
  

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
trackler-2.0.0.1 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-2.0.0.0 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.4.1 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.4.0 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.3.0 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.2.1 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.2.0 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.1.2 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.1.1 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.1.0 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.0.1 tracks/fsharp/exercises/bowling/BowlingTest.fs
trackler-1.0.0 tracks/fsharp/exercises/bowling/BowlingTest.fs