Browse Source

Refactored the Test Centre.

Tests are split up into smaller modules, making it easier to target then in the test runner.
master
Craig Oates 6 years ago
parent
commit
0877fe4600
  1. 116
      TestCentre/PropertyTests.fs
  2. 140
      TestCentre/UnitTests.fs

116
TestCentre/PropertyTests.fs

@ -6,65 +6,73 @@
open WetPancake
open TestingConstants
open System.Diagnostics
open System
[<Property>]
let ``Request Random Text does not return null when using the built-in random settings`` () =
let test = Pancake.RequestRandomText
let results = Assert.NotNull test
Debug.WriteLine(String.Format("Result = {0}", test))
Check.Quick results
module ``Null Tests`` =
[<Property>]
let ``Request Text does not return null when using fixed input parameters`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestText gibberishLevel totalSentences
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Request Random Text does not return null when using the built-in random settings`` () =
let test = Pancake.RequestRandomText()
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Request Text does not return null when using a random gibberish level`` () =
let gibberishLevel = System.Random().Next(2, 10)
let test = Pancake.RequestText gibberishLevel 10
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Request Text does not return null when using fixed input parameters`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestText gibberishLevel totalSentences
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Request Text does not return null when using a random sentence count`` () =
let totalSentences = System.Random().Next(2, 10)
let test () = Pancake.RequestText 5 totalSentences
let results () = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Request Text does not return null when using a random gibberish level`` () =
let gibberishLevel = System.Random().Next(2, 10)
let test = Pancake.RequestText gibberishLevel 10
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using desktop-clock-info does not return null`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestTextFromFile gibberishLevel totalSentences DesktopClock
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Request Text does not return null when using a random sentence count`` () =
let totalSentences = System.Random().Next(2, 10)
let test () = Pancake.RequestText 5 totalSentences
let results () = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using console-waterworks-announcement does not return null`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestTextFromFile gibberishLevel totalSentences ConsoleWaterworks
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using desktop-clock-info does not return null`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestTextFromFile gibberishLevel totalSentences DesktopClock
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using word-generator does not return null`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestTextFromFile gibberishLevel totalSentences WordGenerator
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using console-waterworks-announcement does not return null`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestTextFromFile gibberishLevel totalSentences ConsoleWaterworks
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using test-post does not return null`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestTextFromFile gibberishLevel totalSentences TestPost
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using word-generator does not return null`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestTextFromFile gibberishLevel totalSentences WordGenerator
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using test-post does not return null`` () =
let gibberishLevel = System.Random().Next(2, 10)
let totalSentences = System.Random().Next(2, 10)
let test = Pancake.RequestTextFromFile gibberishLevel totalSentences TestPost
let results = Assert.NotNull test
Check.Quick results
module ``Contents Test`` =
[<Property>]
let ``RequestRandomText produces content with at least one full stop`` () =
let test = Pancake.RequestRandomText() |> Async.RunSynchronously
let results = Assert.Contains(".", test)
Check.Quick results

140
TestCentre/UnitTests.fs

@ -1,81 +1,79 @@
module ``Unit Tests``
module ``Unit Tests``
open Xunit
open WetPancake
open TestingConstants
open System.IO
// File Access Checks =====================================================================================================
module ``File Access Tests`` =
(* These tests check to see if the .txt files exists in the Test Centre project.
The WetPancake library does not expose the file access functions so the .txt files are mirrored here (in Test Centre).
The mirroring, also, doubles up as sample files to pass into WetPancake. *)
(* These tests check to see if the .txt files exists in the Test Centre project.
The WetPancake library does not expose the file access functions so the .txt files are mirrored here (in Test Centre).
The mirroring, also, doubles up as sample files to pass into WetPancake. *)
[<Fact>]
let ``desktop-clock-info can be found`` () =
let result = File.Exists DesktopClock
Assert.Equal(true, result);
[<Fact>]
let ``console-waterworks-announcements can be found`` () =
let result = File.Exists ConsoleWaterworks
Assert.Equal(true, result);
[<Fact>]
let ``word-generator can be found`` () =
let result = File.Exists WordGenerator
Assert.Equal(true, result);
[<Fact>]
let ``test-post can be found`` () =
let result = File.Exists TestPost
Assert.Equal(true, result)
[<Fact>]
let ``desktop-clock-info can be found`` () =
let result = File.Exists DesktopClock
Assert.Equal(true, result);
[<Fact>]
let ``console-waterworks-announcements can be found`` () =
let result = File.Exists ConsoleWaterworks
Assert.Equal(true, result);
[<Fact>]
let ``word-generator can be found`` () =
let result = File.Exists WordGenerator
Assert.Equal(true, result);
[<Fact>]
let ``test-post can be found`` () =
let result = File.Exists TestPost
Assert.Equal(true, result)
// Null Checks ==========================================================================================================
module ``Null Tests`` =
[<Fact>]
let ``RequestRandomText does not return a null`` () =
let result = Pancake.RequestRandomText ()
Assert.NotNull result
[<Fact>]
let ``RequestText does not return a null`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result () = Pancake.RequestText gibberishLevel totalSentences
Assert.NotNull result
[<Fact>]
let ``RequestTextFromFile does not return a null when using desktop-clock-info`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result = Pancake.RequestTextFromFile gibberishLevel totalSentences DesktopClock
Assert.NotNull result
[<Fact>]
let ``RequestTextFromFile does not return a null when using console-waterworks-announcement`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result = Pancake.RequestTextFromFile gibberishLevel totalSentences ConsoleWaterworks
Assert.NotNull result
[<Fact>]
let ``RequestTextFromFile does not return a null when using word-generator`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result = Pancake.RequestTextFromFile gibberishLevel totalSentences WordGenerator
Assert.NotNull result
[<Fact>]
let ``RequestTestFromFile does not generate a null when using test-post`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result = Pancake.RequestTextFromFile gibberishLevel totalSentences TestPost
Assert.NotNull result
[<Fact>]
let ``RequestRandomText does not return a null`` () =
let result = Pancake.RequestRandomText ()
Assert.NotNull result
[<Fact>]
let ``RequestText does not return a null`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result () = Pancake.RequestText gibberishLevel totalSentences
Assert.NotNull result
[<Fact>]
let ``RequestTextFromFile does not return a null when using desktop-clock-info`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result = Pancake.RequestTextFromFile gibberishLevel totalSentences DesktopClock
Assert.NotNull result
[<Fact>]
let ``RequestTextFromFile does not return a null when using console-waterworks-announcement`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result = Pancake.RequestTextFromFile gibberishLevel totalSentences ConsoleWaterworks
Assert.NotNull result
[<Fact>]
let ``RequestTextFromFile does not return a null when using word-generator`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result = Pancake.RequestTextFromFile gibberishLevel totalSentences WordGenerator
Assert.NotNull result
[<Fact>]
let ``RequestTestFromFile does not generate a null when using test-post`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
let result = Pancake.RequestTextFromFile gibberishLevel totalSentences TestPost
Assert.NotNull result
// Contents Checks ========================================================================================================
[<Fact>]
let ``RequestRandomText returns a string which contains at least one full stop`` () =
let result = Pancake.RequestRandomText () |> Async.RunSynchronously
Assert.Contains(".", result)
module ``Contents Tests`` =
[<Fact>]
let ``RequestRandomText returns a string which contains at least one full stop`` () =
let result = Pancake.RequestRandomText () |> Async.RunSynchronously
Assert.Contains(".", result)
Loading…
Cancel
Save