-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCpsDemoTest.fs
125 lines (95 loc) · 5.43 KB
/
CpsDemoTest.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
module CpsDemoTest
open FsUnit.Xunit
open CpsDemo
open System.Diagnostics
open Xunit
open Xunit.Abstractions
type Listener(output: ITestOutputHelper) =
inherit TraceListener()
override __.Write(message: string) =
output.WriteLine(message)
override __.WriteLine(message: string) =
output.WriteLine(message)
type Tests(helper: ITestOutputHelper) =
do
Trace.Listeners.Add(new Listener(helper)) |> ignore
let getAllTheWords file =
let lst = mgetAllTheWordsAsList file
let traceMsg = sprintf "Number of words read from %s: %i" file (List.length lst)
Trace.WriteLine traceMsg
lst
let allTheWords = getAllTheWords @"\Les Misérables.txt"
let allTheWordsEarly = getAllTheWords @"\Les Misérables Early.txt"
let allTheWordsLate = getAllTheWords @"\Les Misérables Late.txt"
[<Fact>]
let ``replaceFirstItem "MISÉRABLES" "PERSONNES-CONTENUES"`` () =
allTheWords |> replaceFirstItem "MISÉRABLES" "PERSONNES-CONTENUES" |> should equal allTheWordsEarly
[<Fact>]
let ``replaceFirstItemCPS "MISÉRABLES" "PERSONNES-CONTENUES"`` () =
allTheWords |> replaceFirstItemCPS "MISÉRABLES" "PERSONNES-CONTENUES" |> should equal allTheWordsEarly
[<Fact>]
let ``replaceFirstItemAvm1 "MISÉRABLES" "PERSONNES-CONTENUES"`` () =
allTheWords |> replaceFirstItemAvm1 "MISÉRABLES" "PERSONNES-CONTENUES" |> should equal allTheWordsEarly
[<Fact>]
let ``replaceFirstItemAvm2 "MISÉRABLES" "PERSONNES-CONTENUES"`` () =
allTheWords |> replaceFirstItemAvm2 "MISÉRABLES" "PERSONNES-CONTENUES" |> should equal allTheWordsEarly
[<Fact>]
let ``replaceFirstItemAvm3 "MISÉRABLES" "PERSONNES-CONTENUES"`` () =
allTheWords |> replaceFirstItemAvm3 "MISÉRABLES" "PERSONNES-CONTENUES" |> should equal allTheWordsEarly
[<Fact>]
let ``replaceFirstItemAvm4 "MISÉRABLES" "PERSONNES-CONTENUES"`` () =
allTheWords |> replaceFirstItemAvm4 "MISÉRABLES" "PERSONNES-CONTENUES" |> should equal allTheWordsEarly
[<Fact>]
let ``replaceFirstItemAvm7 "MISÉRABLES" "PERSONNES-CONTENUES"`` () =
allTheWords |> replaceFirstItemAvm7 "MISÉRABLES" "PERSONNES-CONTENUES" |> should equal allTheWordsEarly
[<Fact>]
let ``replaceFirstItemAvm8 "MISÉRABLES" "PERSONNES-CONTENUES"`` () =
allTheWords |> replaceFirstItemAvm8 "MISÉRABLES" "PERSONNES-CONTENUES" |> should equal allTheWordsEarly
[<Fact>]
let ``replaceFirstItem "lichens" "BANANAS"`` () =
allTheWords |> replaceFirstItem "lichens" "BANANAS" |> should equal allTheWordsLate
[<Fact>]
let ``replaceFirstItemCPS "lichens" "BANANAS"`` () =
allTheWords |> replaceFirstItemCPS "lichens" "BANANAS" |> should equal allTheWordsLate
[<Fact>]
let ``replaceFirstItemAvm1 "lichens" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm1 "lichens" "BANANAS" |> should equal allTheWordsLate
[<Fact>]
let ``replaceFirstItemAvm2 "lichens" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm2 "lichens" "BANANAS" |> should equal allTheWordsLate
[<Fact>]
let ``replaceFirstItemAvm3 "lichens" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm3 "lichens" "BANANAS" |> should equal allTheWordsLate
[<Fact>]
let ``replaceFirstItemAvm4 "lichens" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm4 "lichens" "BANANAS" |> should equal allTheWordsLate
[<Fact>]
let ``replaceFirstItemAvm7 "lichens" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm7 "lichens" "BANANAS" |> should equal allTheWordsLate
[<Fact>]
let ``replaceFirstItemAvm8 "lichens" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm8 "lichens" "BANANAS" |> should equal allTheWordsLate
[<Fact>]
let ``replaceFirstItem "aWordThatNeverOccursInLesMisérables" "BANANAS"`` () =
allTheWords |> replaceFirstItem "aWordThatNeverOccursInLesMisérables" "BANANAS" |> should equal allTheWords
[<Fact>]
let ``replaceFirstItemCPS "aWordThatNeverOccursInLesMisérables" "BANANAS"`` () =
allTheWords |> replaceFirstItemCPS "aWordThatNeverOccursInLesMisérables" "BANANAS" |> should equal allTheWords
[<Fact>]
let ``replaceFirstItemAvm1 "aWordThatNeverOccursInLesMisérables" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm1 "aWordThatNeverOccursInLesMisérables" "BANANAS" |> should equal allTheWords
[<Fact>]
let ``replaceFirstItemAvm2 "aWordThatNeverOccursInLesMisérables" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm2 "aWordThatNeverOccursInLesMisérables" "BANANAS" |> should equal allTheWords
[<Fact>]
let ``replaceFirstItemAvm3 "aWordThatNeverOccursInLesMisérables" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm3 "aWordThatNeverOccursInLesMisérables" "BANANAS" |> should equal allTheWords
[<Fact>]
let ``replaceFirstItemAvm4 "aWordThatNeverOccursInLesMisérables" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm4 "aWordThatNeverOccursInLesMisérables" "BANANAS" |> should equal allTheWords
[<Fact>]
let ``replaceFirstItemAvm7 "aWordThatNeverOccursInLesMisérables" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm7 "aWordThatNeverOccursInLesMisérables" "BANANAS" |> should equal allTheWords
[<Fact>]
let ``replaceFirstItemAvm8 "aWordThatNeverOccursInLesMisérables" "BANANAS"`` () =
allTheWords |> replaceFirstItemAvm8 "aWordThatNeverOccursInLesMisérables" "BANANAS" |> should equal allTheWords