1
exercism fetch fsharp tournament

TournamentTest.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
module TournamentTest
    
open Xunit
open FsUnit.Xunit

open Tournament

[<Fact>]
let ``Correctly displays the tournament table`` () =
    let actual = 
        ["Αllegoric Alaskians;Blithering Badgers;win";
         "Devastating Donkeys;Courageous Californians;draw";
         "Devastating Donkeys;Αllegoric Alaskians;win";
         "Courageous Californians;Blithering Badgers;loss";
         "Blithering Badgers;Devastating Donkeys;loss";
         "Αllegoric Alaskians;Courageous Californians;win"]

    let expected = 
        ["Team                           | MP |  W |  D |  L |  P";
         "Devastating Donkeys            |  3 |  2 |  1 |  0 |  7";
         "Αllegoric Alaskians            |  3 |  2 |  0 |  1 |  6";
         "Blithering Badgers             |  3 |  1 |  0 |  2 |  3";
         "Courageous Californians        |  3 |  0 |  1 |  2 |  1"]

    tally actual |> should equal expected

[<Fact(Skip = "Remove to run test")>]
let ``Ignores incorrect input`` () =
    let actual = 
        ["Allegoric Alaskians;Blithering Badgers;win";
         "Devastating Donkeys_Courageous Californians;draw";
         "Devastating Donkeys;Allegoric Alaskians;win";
         "";
         "Courageous Californians;Blithering Badgers;loss";
         "Bla;Bla;Bla";
         "Blithering Badgers;Devastating Donkeys;loss";
         "# Yackity yackity yack";
         "Allegoric Alaskians;Courageous Californians;win";
         "Devastating Donkeys;Courageous Californians;draw";
         "Devastating Donkeys@Courageous Californians;draw"]

    let expected = 
        ["Team                           | MP |  W |  D |  L |  P";
         "Devastating Donkeys            |  3 |  2 |  1 |  0 |  7";
         "Allegoric Alaskians            |  3 |  2 |  0 |  1 |  6";
         "Blithering Badgers             |  3 |  1 |  0 |  2 |  3";
         "Courageous Californians        |  3 |  0 |  1 |  2 |  1"]

    tally actual |> should equal expected    

[<Fact(Skip = "Remove to run test")>]
let ``Correctly displays another tournament table`` () =
    let actual = 
        ["Allegoric Alaskians;Blithering Badgers;win";
         "Devastating Donkeys;Allegoric Alaskians;win";
         "Courageous Californians;Blithering Badgers;loss";
         "Allegoric Alaskians;Courageous Californians;win"]

    let expected = 
        ["Team                           | MP |  W |  D |  L |  P";
         "Allegoric Alaskians            |  3 |  2 |  0 |  1 |  6";
         "Blithering Badgers             |  2 |  1 |  0 |  1 |  3";
         "Devastating Donkeys            |  1 |  1 |  0 |  0 |  3";
         "Courageous Californians        |  2 |  0 |  0 |  2 |  0"]

    tally actual |> should equal expected