// This file was auto-generated based on version 1.0.0 of the canonical data. module YachtTest open FsUnit.Xunit open Xunit open Yacht [] let ``Yacht`` () = score Category.Yacht [5; 5; 5; 5; 5] |> should equal 50 [] let ``Not Yacht`` () = score Category.Yacht [1; 3; 3; 2; 5] |> should equal 0 [] let ``Ones`` () = score Category.Ones [1; 1; 1; 3; 5] |> should equal 3 [] let ``Ones, out of order`` () = score Category.Ones [3; 1; 1; 5; 1] |> should equal 3 [] let ``No ones`` () = score Category.Ones [4; 3; 6; 5; 5] |> should equal 0 [] let ``Twos`` () = score Category.Twos [2; 3; 4; 5; 6] |> should equal 2 [] let ``Fours`` () = score Category.Fours [1; 4; 1; 4; 1] |> should equal 8 [] let ``Yacht counted as threes`` () = score Category.Threes [3; 3; 3; 3; 3] |> should equal 15 [] let ``Yacht of 3s counted as fives`` () = score Category.Fives [3; 3; 3; 3; 3] |> should equal 0 [] let ``Sixes`` () = score Category.Sixes [2; 3; 4; 5; 6] |> should equal 6 [] let ``Full house two small, three big`` () = score Category.FullHouse [2; 2; 4; 4; 4] |> should equal 16 [] let ``Full house three small, two big`` () = score Category.FullHouse [5; 3; 3; 5; 3] |> should equal 19 [] let ``Two pair is not a full house`` () = score Category.FullHouse [2; 2; 4; 4; 5] |> should equal 0 [] let ``Yacht is not a full house`` () = score Category.FullHouse [2; 2; 2; 2; 2] |> should equal 0 [] let ``Four of a Kind`` () = score Category.FourOfAKind [6; 6; 4; 6; 6] |> should equal 24 [] let ``Yacht can be scored as Four of a Kind`` () = score Category.FourOfAKind [3; 3; 3; 3; 3] |> should equal 12 [] let ``Full house is not Four of a Kind`` () = score Category.FourOfAKind [3; 3; 3; 5; 5] |> should equal 0 [] let ``Little Straight`` () = score Category.LittleStraight [3; 5; 4; 1; 2] |> should equal 30 [] let ``Little Straight as Big Straight`` () = score Category.BigStraight [1; 2; 3; 4; 5] |> should equal 0 [] let ``Four in order but not a little straight`` () = score Category.LittleStraight [1; 1; 2; 3; 4] |> should equal 0 [] let ``No pairs but not a little straight`` () = score Category.LittleStraight [1; 2; 3; 4; 6] |> should equal 0 [] let ``Minimum is 1, maximum is 5, but not a little straight`` () = score Category.LittleStraight [1; 1; 3; 4; 5] |> should equal 0 [] let ``Big Straight`` () = score Category.BigStraight [4; 6; 2; 5; 3] |> should equal 30 [] let ``Big Straight as little straight`` () = score Category.LittleStraight [6; 5; 4; 3; 2] |> should equal 0 [] let ``Choice`` () = score Category.Choice [3; 3; 5; 6; 6] |> should equal 23 [] let ``Yacht as choice`` () = score Category.Choice [2; 2; 2; 2; 2] |> should equal 10