Browse Source

End of session check-in. Heading into studio to continue work on main machine.

master
Craig Oates 6 years ago
parent
commit
1a9b2020bb
  1. 32
      TestCentre/PropertyTests.fs
  2. 24
      WetPancake/DataServices.fs
  3. 11
      WetPancake/ProductServices.fs
  4. 10
      WetPancake/Script.fsx

32
TestCentre/PropertyTests.fs

@ -12,56 +12,62 @@
let results = Assert.NotNull test
Check.Quick results
[<Property>]
let ``TEMP 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 fixed input parameters`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
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 gibberish level`` () =
let gibberishLevel = System.Random().Next(2, 20)
let test = Pancake.RequestText gibberishLevel 10
let gibberishLevel = System.Random().Next(2, 10)
let test = Pancake.RequestText 5 10
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, 20)
let totalSentences = System.Random().Next(2, 10)
let test () = Pancake.RequestText 5 totalSentences
let results () = Assert.NotNull test
Check.Quick results
[<Property>]
let ``Using desktop-clock-info does not return null`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
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 console-waterworks-announcement does not return null`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
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 word-generator does not return null`` () =
let gibberishLevel = System.Random().Next(2, 20)
let totalSentences = System.Random().Next(2, 20)
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, 20)
let totalSentences = System.Random().Next(2, 20)
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

24
WetPancake/DataServices.fs

@ -7,7 +7,12 @@
open System.Threading
let rec GenerateMarkovChain (map: Map<string, string List>) (state:string) chain =
let nextChoice = map.[state] |> PickNextWord
// up to here need to break th circuit at this point.
let mutable nextChoice = ""
if ((Seq.length map) = 0) then nextChoice <- "fallback word."
else
nextChoice <- map.[state] |> PickNextWord
//let nextChoice = map.[state] |> PickNextWord
if MatchText @"\." nextChoice then nextChoice :: chain
else
let currentWords =
@ -46,10 +51,13 @@
*)
let GenerateMarkovTextTesting noOfSentences map =
let startWords = fst(SeperateStartWords map)
let result =
seq {
for i in 1 .. noOfSentences do
Thread.Sleep(100)
yield GenerateMarkovSentence map (PickRandomItem startWords).Key
}
result |> ConcatToString
if Seq.isEmpty startWords then
"Failed to generate a result"
else
let result =
seq {
for i in 1 .. noOfSentences do
Thread.Sleep(100)
yield GenerateMarkovSentence map (PickRandomItem startWords).Key
}
result |> ConcatToString

11
WetPancake/ProductServices.fs

@ -14,7 +14,8 @@ module Pancake =
|> ApplyStandardSetup
|> SortIntoGroups (PickRandomNumber 2 10)
|> GenerateMap
GenerateMarkovText (PickRandomNumber 2 10) data
//GenerateMarkovText (PickRandomNumber 2 10) data
GenerateMarkovTextTesting (PickRandomNumber 2 10) data
let RequestText (gibberishLevel: int) (sentences: int) =
let data =
@ -22,7 +23,9 @@ module Pancake =
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
GenerateMarkovText sentences data
//GenerateMarkovText sentences data
GenerateMarkovTextTesting sentences data
let RequestTextFromFile (gibberishLevel: int) (sentences: int) (filePath: string) =
let data =
@ -30,7 +33,9 @@ module Pancake =
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
GenerateMarkovText sentences data
//GenerateMarkovText sentences data
GenerateMarkovTextTesting sentences data
(* Should the library provide list of the available default txt files?
By doing so, the user can specify a particular file from the list available.

10
WetPancake/Script.fsx

@ -130,9 +130,13 @@ let dss_text =
|> ApplyStandardSetup
|> SortIntoGroups 2
|> GenerateMap
let dss_startwords = SeperateStartWords dss_text
let dss_sentences = GenerateMarkovText 2 dss_text
printfn "Text: %A" dss_sentences
//let dss_startwords = SeperateStartWords dss_text
//let dss_sentences = GenerateMarkovText 2 dss_text
//printfn "Text: %A" dss_sentences
let dss_sentences2 = GenerateMarkovTextTesting 2 dss_text
printfn "Text: %A" dss_sentences2
// (WetPancake) Pancake
let p_result = Pancake.RequestRandomText()

Loading…
Cancel
Save