// This file was auto-generated based on version 1.2.0 of the canonical data. module GrainsTests open FsUnit.Xunit open Xunit open Grains [] let ``1`` () = let expected: Result = Ok 1UL square 1 |> should equal expected [] let ``2`` () = let expected: Result = Ok 2UL square 2 |> should equal expected [] let ``3`` () = let expected: Result = Ok 4UL square 3 |> should equal expected [] let ``4`` () = let expected: Result = Ok 8UL square 4 |> should equal expected [] let ``16`` () = let expected: Result = Ok 32768UL square 16 |> should equal expected [] let ``32`` () = let expected: Result = Ok 2147483648UL square 32 |> should equal expected [] let ``64`` () = let expected: Result = Ok 9223372036854775808UL square 64 |> should equal expected [] let ``Square 0 raises an exception`` () = let expected: Result = Error "square must be between 1 and 64" square 0 |> should equal expected [] let ``Negative square raises an exception`` () = let expected: Result = Error "square must be between 1 and 64" square -1 |> should equal expected [] let ``Square greater than 64 raises an exception`` () = let expected: Result = Error "square must be between 1 and 64" square 65 |> should equal expected [] let ``Returns the total number of grains on the board`` () = let expected: Result = Ok 18446744073709551615UL total |> should equal expected