-
-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathTwoBucketTests.fs
70 lines (60 loc) · 2.79 KB
/
TwoBucketTests.fs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
module TwoBucketTests
open FsUnit.Xunit
open Xunit
open TwoBucket
[<Fact>]
let ``Measure using bucket one of size 3 and bucket two of size 5 - start with bucket one`` () =
let bucketOne = 3
let bucketTwo = 5
let goal = 1
let startBucket = Bucket.One
let expected = { Moves = 4; GoalBucket = Bucket.One; OtherBucket = 5 }
measure bucketOne bucketTwo goal startBucket |> should equal expected
[<Fact(Skip = "Remove this Skip property to run this test")>]
let ``Measure using bucket one of size 3 and bucket two of size 5 - start with bucket two`` () =
let bucketOne = 3
let bucketTwo = 5
let goal = 1
let startBucket = Bucket.Two
let expected = { Moves = 8; GoalBucket = Bucket.Two; OtherBucket = 3 }
measure bucketOne bucketTwo goal startBucket |> should equal expected
[<Fact(Skip = "Remove this Skip property to run this test")>]
let ``Measure using bucket one of size 7 and bucket two of size 11 - start with bucket one`` () =
let bucketOne = 7
let bucketTwo = 11
let goal = 2
let startBucket = Bucket.One
let expected = { Moves = 14; GoalBucket = Bucket.One; OtherBucket = 11 }
measure bucketOne bucketTwo goal startBucket |> should equal expected
[<Fact(Skip = "Remove this Skip property to run this test")>]
let ``Measure using bucket one of size 7 and bucket two of size 11 - start with bucket two`` () =
let bucketOne = 7
let bucketTwo = 11
let goal = 2
let startBucket = Bucket.Two
let expected = { Moves = 18; GoalBucket = Bucket.Two; OtherBucket = 7 }
measure bucketOne bucketTwo goal startBucket |> should equal expected
[<Fact(Skip = "Remove this Skip property to run this test")>]
let ``Measure one step using bucket one of size 1 and bucket two of size 3 - start with bucket two`` () =
let bucketOne = 1
let bucketTwo = 3
let goal = 3
let startBucket = Bucket.Two
let expected = { Moves = 1; GoalBucket = Bucket.Two; OtherBucket = 0 }
measure bucketOne bucketTwo goal startBucket |> should equal expected
[<Fact(Skip = "Remove this Skip property to run this test")>]
let ``Measure using bucket one of size 2 and bucket two of size 3 - start with bucket one and end with bucket two`` () =
let bucketOne = 2
let bucketTwo = 3
let goal = 3
let startBucket = Bucket.One
let expected = { Moves = 2; GoalBucket = Bucket.Two; OtherBucket = 2 }
measure bucketOne bucketTwo goal startBucket |> should equal expected
[<Fact(Skip = "Remove this Skip property to run this test")>]
let ``With the same buckets but a different goal, then it is possible`` () =
let bucketOne = 6
let bucketTwo = 15
let goal = 9
let startBucket = Bucket.One
let expected = { Moves = 10; GoalBucket = Bucket.Two; OtherBucket = 0 }
measure bucketOne bucketTwo goal startBucket |> should equal expected