Death Socket consists of three projects. They are a .Net Standard 2.0 library, a console program and a Test Centre. The purpose of this repository is to provide a way for people to add grids to images. https://www.craigoates.net/Software/project/13
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.4 KiB

namespace ConsoleTests
module PropertyTests =
open System
open FsCheck.Xunit
open DeathSocket.Validation
open System.Drawing
let testingColourArray =
colourList
|> Map.toSeq
|> Seq.map fst
|> Seq.toArray
let randomColour () =
testingColourArray.[Random().Next(testingColourArray.Length)]
[<Property>]
let ``Pen width is set greater than 0`` () =
(setPenWidth (Random().Next()) (Random().Next())) > 0.0f
[<Property>]
let ``Parsed colour matches expected colour`` () =
let expectedColour = (randomColour ())
let brush = parseColour (expectedColour)
let convertedBrush = (brush :?> SolidBrush).Color.Name.ToLower()
convertedBrush = expectedColour
module UnitTests =
open System.IO
open DeathSocket.Validation
open Xunit
let saveLocation = __SOURCE_DIRECTORY__ + "/SavingTestArea"
[<Fact>]
let ``Saving Test Area can be located`` () =
Assert.True (Directory.Exists (saveLocation))
[<Fact>]
let ``Colour list is not empty`` () =
Assert.False (colourList.IsEmpty)
[<Fact>]
let ``Exception thrown when invalid colour is used`` () =
Assert.Throws<System.ArgumentException>
(fun () -> parseColour "not a valid colour" |> ignore)