Browse Source

Refacted property tests to use the new InputGeneration module.

master
Craig Oates 6 years ago
parent
commit
852add7662
  1. 95
      TestCentre/PropertyTests.fs

95
TestCentre/PropertyTests.fs

@ -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 () =

Loading…
Cancel
Save