Browse Source

Moved the refactored rough test code into RequestText.

Moved the rough test validation code to DataProcessing.
master
Craig Oates 6 years ago
parent
commit
adec55d08e
  1. 12
      WetPancake/DataProcessing.fs
  2. 58
      WetPancake/ProductServices.fs

12
WetPancake/DataProcessing.fs

@ -10,12 +10,16 @@
let ConcatToString words = String.concat " " words
let GibberishLevelIsValid gibberishLevel =
if gibberishLevel > 1 && gibberishLevel < 21 then true
else false
match gibberishLevel with
| gibberishLevel when gibberishLevel < 2 || gibberishLevel > 20 ->
raise (ArgumentException("Invalid argument. Must be between 2 and 20 (inclusive).", "gibberishLevel"))
| _ -> ignore
let SentencesIsValid sentences =
if sentences >= 1 then true
else false
match sentences with
| sentences when sentences < 1 ->
raise (ArgumentException("Invalid argument. Must be greater than 0.", "sentences"))
| _ -> ignore
let FilePathIsValid filePath =
if Path.GetExtension filePath = ".txt" && File.Exists filePath then true

58
WetPancake/ProductServices.fs

@ -25,18 +25,14 @@ module Pancake =
let RequestTextAsync (gibberishLevel: int) (sentences: int) =
async {
try
if GibberishLevelIsValid gibberishLevel then
if SentencesIsValid sentences then
let data =
LoadFile (SelectRandomSampleFile())
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
return GenerateMarkovText sentences data
else
return raise (ArgumentException("Invalid argument. Must be greater than 0.", "sentences"))
else
return raise (ArgumentException("Invalid argument. Must be between 2 and 20 (inclusive).", "gibberishLevel"))
GibberishLevelIsValid gibberishLevel |> ignore
SentencesIsValid sentences |> ignore
let data =
LoadFile (SelectRandomSampleFile())
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
return GenerateMarkovText sentences data
with
| :? ArgumentException as ex ->
return ex.Message
@ -72,42 +68,4 @@ module Pancake =
ListSampleFiles
|> Array.toList
return files
}
// ===================================================================
let gibCheck g =
match g with
| g when g < 2 || g > 20 ->
raise (ArgumentException("Invalid argument. Must be between 2 and 20 (inclusive).", "gibberishLevel"))
| _ -> ignore
let senCheck s =
match s with
| s when s < 1 ->
raise (ArgumentException("Invalid argument. Must be greater than 0.", "sentences"))
| _ -> ignore
// TEST FUNCTION
let RequestTest (gibberishLevel: int) (sentences: int) =
async {
try
gibCheck gibberishLevel |> ignore
senCheck sentences |> ignore
let data =
LoadFile (SelectRandomSampleFile())
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
return GenerateMarkovText sentences data
(*
else
return raise (ArgumentException("Invalid argument. Must be greater than 0.", "sentences"))
else
return raise (ArgumentException("Invalid argument. Must be between 2 and 20 (inclusive).", "gibberishLevel"))
*)
with
| :? ArgumentException as ex ->
return ex.Message
}
Loading…
Cancel
Save