Browse Source

Added exception tests for RequestTextFromFile -- invalid gibberishLevel.

Added functions for file input generation in Test Centre.
master
Craig Oates 6 years ago
parent
commit
e798ff2698
  1. 6
      TestCentre/InputGeneration.fs
  2. 9
      TestCentre/PropertyTests.fs
  3. 6
      TestCentre/TestingConstants.fs
  4. 7
      TestCentre/UnitTests.fs

6
TestCentre/InputGeneration.fs

@ -1,6 +1,7 @@
module InputGeneration
open System
open TestingConstants
let ValidGibberishLevelInput () =
let testInputs = [|2 .. 20|]
@ -15,3 +16,8 @@
testInputs.[index]
let InvalidSentencesInput () = System.Random().Next(-5, 1)
let ValidFileInput () =
let testInputs = [|ConsoleWaterworks; DesktopClock; TestPost; WordGenerator|]
let index = Random().Next(0, testInputs.Length)
testInputs.[index]

9
TestCentre/PropertyTests.fs

@ -218,6 +218,15 @@
let results =
lazy Assert.Throws<ArgumentException>(fun () -> test |> ignore)
Check.Quick results
[<Property>]
let ``RequestTextFromFile throws an ArgumentException when the gibberishLeel in invalid`` () =
let test =
Pancake.RequestTextFromFileAsync (InvalidGibberishInput()) (ValidSentencesInput()) (ValidFileInput())
|> Async.RunSynchronously
let results =
lazy Assert.Throws<ArgumentException>(fun () -> test |> ignore)
Check.Quick results
(*
let SentencesIsValid sentences =
let FilePathIsValid filePath

6
TestCentre/TestingConstants.fs

@ -13,3 +13,9 @@ let WordGenerator = __SOURCE_DIRECTORY__ + @"\TextFiles\word-generator.txt"
[<Literal>]
let TestPost = __SOURCE_DIRECTORY__ + @"\TextFiles\test-post.txt"
[<Literal>]
let InvalidFilePathInput = __SOURCE_DIRECTORY__ + @"Invalid/file.txt"
[<Literal>]
let InvalidFileTypeInput = __SOURCE_DIRECTORY__ + @"\TextFiles\desktop-clock-info.doc"

7
TestCentre/UnitTests.fs

@ -182,3 +182,10 @@ let FilePathIsValid filePath
Pancake.RequestTextAsync (ValidGibberishLevelInput()) (InvalidSentencesInput())
|> Async.RunSynchronously
lazy Assert.Throws<ArgumentException>(fun () -> test |> ignore)
[<Fact>]
let ``RequestTextFromFile throws an ArgumentException when the gibberishLevel is invalid`` () =
let test () =
Pancake.RequestTextFromFileAsync (InvalidGibberishInput()) (ValidSentencesInput()) (ValidFileInput())
|> Async.RunSynchronously
lazy Assert.Throws<ArgumentException>(fun () -> test |> ignore)

Loading…
Cancel
Save