|
|
|
@ -7,6 +7,7 @@
|
|
|
|
|
open TestingConstants |
|
|
|
|
open System.Diagnostics |
|
|
|
|
open System |
|
|
|
|
open InputGeneration |
|
|
|
|
|
|
|
|
|
module ``Null Tests`` = |
|
|
|
|
|
|
|
|
@ -20,68 +21,57 @@
|
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``Request Text does not return a null when using fixed input parameters`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
// Change the values for a quick way to manually test the (test) code. |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextAsync (gibberishLevel()) (totalSentences()) |
|
|
|
|
Pancake.RequestTextAsync 5 5 |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.NotNull test |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``Request Text does not return a null when using a random gibberish level`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextAsync (gibberishLevel()) 10 |
|
|
|
|
Pancake.RequestTextAsync (ValidGibberishLevelInput()) 5 |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.NotNull test |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``Request Text does not return a null when using a random sentence count`` () = |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test () = |
|
|
|
|
Pancake.RequestTextAsync 5 (totalSentences()) |
|
|
|
|
Pancake.RequestTextAsync 5 (ValidSentencesInput()) |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results () = Assert.NotNull test |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``Using desktop-clock-info does not return a null`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) DesktopClock |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) DesktopClock |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.NotNull test |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``Using console-waterworks-announcement does not return a null`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) ConsoleWaterworks |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) ConsoleWaterworks |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.NotNull test |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``Using word-generator does not return a null`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) WordGenerator |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) WordGenerator |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.NotNull test |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``Using test-post does not return a null`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) TestPost |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) TestPost |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.NotNull test |
|
|
|
|
Check.Quick results |
|
|
|
@ -106,50 +96,41 @@
|
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestText returns a string which contains a full stop`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextAsync (gibberishLevel()) (totalSentences()) |
|
|
|
|
Pancake.RequestTextAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.Contains(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTextFromFile returns a string which contains a full stop when using console-waterworks-announcement`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) ConsoleWaterworks |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) ConsoleWaterworks |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.Contains(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTextFromFile returns a string which contains a full stop when using desktop-clock-info`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) DesktopClock |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) DesktopClock |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.Contains(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTextFromFile returns a string which contains a full stop when using test-post`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
|
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) TestPost |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) TestPost |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.Contains(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTextFromFile returns a string which contains a full stop when using word-generator`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) WordGenerator |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) WordGenerator |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.Contains(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
@ -164,50 +145,48 @@
|
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTest returns a string which ends with a full stop`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextAsync (gibberishLevel()) (totalSentences()) |
|
|
|
|
Pancake.RequestTextAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.EndsWith(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTextFromFile returns a string which ends with a full stop when using console-waterwork-announcement`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) ConsoleWaterworks |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) ConsoleWaterworks |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.EndsWith(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTextFromFile returns a string which ends with a full stop when using desktop-clock-info`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) DesktopClock |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) DesktopClock |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.EndsWith(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTextFromFile returns a string which ends with a full stop when using test-post`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) TestPost |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) TestPost |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.EndsWith(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestTextFromFile returns a string which ends with a full stop when using word-generator`` () = |
|
|
|
|
let gibberishLevel () = System.Random().Next(2, 10) |
|
|
|
|
let totalSentences () = System.Random().Next(2, 10) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let test = |
|
|
|
|
Pancake.RequestTextFromFileAsync (gibberishLevel()) (totalSentences()) WordGenerator |
|
|
|
|
Pancake.RequestTextFromFileAsync (ValidGibberishLevelInput()) (ValidSentencesInput()) WordGenerator |
|
|
|
|
|> Async.RunSynchronously |
|
|
|
|
let results = Assert.EndsWith(".", test) |
|
|
|
|
Check.Quick results |
|
|
|
@ -222,24 +201,6 @@
|
|
|
|
|
|
|
|
|
|
module ``Exception Tests`` = |
|
|
|
|
|
|
|
|
|
// Move this to an input generator module? seperate file? |
|
|
|
|
// Will remove the copy and pasted code up above as well... |
|
|
|
|
// Keep this and property test files about just the tests... |
|
|
|
|
|
|
|
|
|
let ValidGibberishLevelInput () = |
|
|
|
|
let testInputs = [|2 .. 20|] |
|
|
|
|
let index = Random().Next(0, testInputs.Length) |
|
|
|
|
testInputs.[index] |
|
|
|
|
|
|
|
|
|
let ValidSentencesInput () = System.Random().Next(2, 10) |
|
|
|
|
|
|
|
|
|
let InvalidGibberishInput () = |
|
|
|
|
let testInputs = Array.concat [ [|0; 1|] ; [|21 .. 100|] ] |
|
|
|
|
let index = System.Random().Next(0, testInputs.Length) |
|
|
|
|
testInputs.[index] |
|
|
|
|
|
|
|
|
|
let InvalidSentencesInput () = System.Random().Next(-5, 1) |
|
|
|
|
|
|
|
|
|
[<Property>] |
|
|
|
|
let ``RequestText throws an ArgumentException when the gibberishLevel is invalid`` () = |
|
|
|
|
let test () = |
|
|
|
|