diff --git a/DeathSocket/DeathSocket.fsproj b/DeathSocket/DeathSocket.fsproj
index a21b9e6..5d47875 100644
--- a/DeathSocket/DeathSocket.fsproj
+++ b/DeathSocket/DeathSocket.fsproj
@@ -19,6 +19,7 @@
1.0.0.0
https://gitlab.com/CraigOates/Death-Socket/blob/master/.github/Images/death-socket-logo.png
1.0.0.0
+ true
diff --git a/TestCentre/Script.fsx b/TestCentre/Script.fsx
index 5bd6ce6..f4b0999 100644
--- a/TestCentre/Script.fsx
+++ b/TestCentre/Script.fsx
@@ -1,113 +1,116 @@
-//// These DLL's must be built before you can use them in this script.
-//#r "bin/Debug/System.Drawing.Common.dll"
-//#r "bin/Debug/SmoulderingBeachBall.dll"
-
-//open System
-//open System.Drawing
-//open System.Reflection
-//open SmoulderingBeachBall.Domain
-//open SmoulderingBeachBall.Services
-//open System.Threading
-//open System.IO
-
-//let loadLocation = __SOURCE_DIRECTORY__ + "/LoadingTestArea"
-//let saveLocation = __SOURCE_DIRECTORY__ + "/SavingTestArea"
-//let random = Random()
-
-//(* Resetting the Testing Area Folders Scripts
-//===============================================================================
-//The following scripts are for when you need to "manually" clear out the
-//LoadingTestArea and SavingTestArea folders. If you do not want to open up the
-//folder in Explorer and delete the files that way, just run the scripts in this
-//section. If you reset the LoadingTestArea, you will need to repopulate it using
-//the "Populating LoadingTestArea Folder Scripts" below. *)
-
-//let resetSavingTestArea () =
-// let files = Directory.GetFileSystemEntries(saveLocation, "*.png")
-// match files.Length with
-// | 0 -> ()
-// | _ ->
-// files
-// |> Array.iter (fun f -> File.Delete(f))
-
-//let resetLoadingTestArea () =
-// let files = Directory.GetFileSystemEntries(loadLocation, "*.png")
-// match files.Length with
-// | 0 -> ()
-// | _ ->
-// files
-// |> Array.iter (fun f -> File.Delete(f))
-
-//// Run these when the above functions have been added to F# interactive.
-//resetSavingTestArea ()
-//resetLoadingTestArea ()
-
-//(* Populating LoadingTestArea Folder Scripts
-//===============================================================================
-//The following scripts are to help you populate a test folder with test images.
-//You can then use these images in LibraryTests.fs -- Property Tests.
-//The tests consists of loading images from LoadingTestArea, transforming them
-//and saving them in SavingTestArea. *)
-
-//let allColours =
-// let properties =
-// typeof.GetProperties(BindingFlags.Public ||| BindingFlags.Static)
-// seq { for prop in properties -> prop}
-// |> Seq.toArray
-
-//let randomBrush () =
-// let item = allColours.[random.Next(allColours.Length)]
-// item.GetValue(null, null)
-
-//let generateDimensionSizes total =
-// List.init total (fun _ -> random.Next(3000))
-
-//let randomSize (sizes: int list) =
-// // (Sleep) Helps to reduce chance of picking the same item twice in quick succession.
-// Thread.Sleep 100
-// sizes.Item (random.Next(sizes.Length))
-
-//let populateSpec sizes =
-// Brush ({ filePath = loadLocation
-// height = randomSize (sizes)
-// colour = (randomBrush ()) :?> Brush
-// overlay = None })
-
-//let generateSpecs amount =
-// let imageSizes = generateDimensionSizes amount
-// [for i in 0 .. amount -> (populateSpec (imageSizes)) ]
-
-//let generateImage spec =
-// printfn "[INFO.] Creating image [Width: %i] [Height: %i] ..." (spec.width) (spec.height)
-// makeImage spec
-
-//let populateLoadingTestArea () =
-// printfn "[INFO.] Populating LoadingTestArea..."
-// generateSpecs 100
-// |> List.map generateImage
-// |> Async.Parallel
-// |> Async.RunSynchronously
-// |> ignore
-// printfn "[INFO.] Finishing populating /LoadingTestArea."
-
-//// You should only need this once.
-//// Make sure you have passed the above into F# Interactive.
-//populateLoadingTestArea ()
-
-//(* Creating the Saving Test Area Script
-//==============================================================================
-//This bit of code is for creating the SavingTestArea folder which Test Centre
-//will use when it runs its tests. You will normally only need to run this code
-//when you have just cloned this repository or you accidently deleted said
-//folder. In other words, you should only need to use it once. *)
-
-//let createSavingTestArea () =
-// match Directory.Exists saveLocation with
-// | false ->
-// Directory.CreateDirectory saveLocation |> ignore
-// printfn "SavingTestArea created."
-// | _ -> printfn "SavingTestArea already exists."
-
-//(* Before calling this function, make sure the test checking to see if this
-//folder exists is failing first. *)
-//createSavingTestArea ()
\ No newline at end of file
+// These DLL's must be built before you can use them in this script.
+#r "bin\Debug\System.Drawing.Common.dll"
+#r @"..\packages\SmoulderingBeachBall.1.0.0\lib\netstandard2.0\SmoulderingBeachBall.dll"
+
+open System
+open System.Drawing
+open System.Reflection
+open SmoulderingBeachBall.Domain
+open SmoulderingBeachBall.Services
+open System.Threading
+open System.IO
+
+let loadLocation = __SOURCE_DIRECTORY__ + "/LoadingTestArea"
+let saveLocation = __SOURCE_DIRECTORY__ + "/SavingTestArea"
+let random = Random()
+
+(* Resetting the Testing Area Folders Scripts
+===============================================================================
+The following scripts are for when you need to "manually" clear out the
+LoadingTestArea and SavingTestArea folders. If you do not want to open up the
+folder in Explorer and delete the files that way, just run the scripts in this
+section. If you reset the LoadingTestArea, you will need to repopulate it using
+the "Populating LoadingTestArea Folder Scripts" below. *)
+
+let resetSavingTestArea () =
+ let files = Directory.GetFileSystemEntries(saveLocation, "*.png")
+ match files.Length with
+ | 0 -> ()
+ | _ ->
+ files
+ |> Array.iter (fun f -> File.Delete(f))
+
+let resetLoadingTestArea () =
+ let files = Directory.GetFileSystemEntries(loadLocation, "*.png")
+ match files.Length with
+ | 0 -> ()
+ | _ ->
+ files
+ |> Array.iter (fun f -> File.Delete(f))
+
+// Run these when the above functions have been added to F# interactive.
+resetSavingTestArea ()
+resetLoadingTestArea ()
+
+(* Populating LoadingTestArea Folder Scripts
+===============================================================================
+The following scripts are to help you populate a test folder with test images.
+You can then use these images in LibraryTests.fs -- Property Tests.
+The tests consists of loading images from LoadingTestArea, transforming them
+and saving them in SavingTestArea. *)
+
+let allColours =
+ let properties =
+ typeof.GetProperties(BindingFlags.Public ||| BindingFlags.Static)
+ seq { for prop in properties -> prop}
+ |> Seq.toArray
+
+let randomBrush () =
+ let item = allColours.[random.Next(allColours.Length)]
+ item.GetValue(null, null)
+
+let generateDimensionSizes total =
+ List.init total (fun _ -> random.Next(3000))
+
+let randomSize (sizes: int list) =
+ // (Sleep) Helps to reduce chance of picking the same item twice in quick succession.
+ Thread.Sleep 100
+ sizes.Item (random.Next(sizes.Length))
+
+let populateSpec sizes =
+ let spec: SmoulderingBeachBall.Domain.DomainTypes.ImageSpec =
+ { filePath = loadLocation
+ width = randomSize (sizes)
+ height = randomSize (sizes)
+ colour = (randomBrush ()) :?> Brush
+ overlay = None }
+ spec
+
+let generateSpecs amount =
+ let imageSizes = generateDimensionSizes amount
+ [for i in 0 .. amount -> (populateSpec (imageSizes)) ]
+
+let generateImage (spec: ImageSpec) =
+ printfn "[INFO.] Creating image [Width: %i] [Height: %i] ..." (spec.width) (spec.height)
+ makeImage spec
+
+let populateLoadingTestArea () =
+ printfn "[INFO.] Populating LoadingTestArea..."
+ generateSpecs 100
+ |> List.map generateImage
+ |> Async.Parallel
+ |> Async.RunSynchronously
+ |> ignore
+ printfn "[INFO.] Finishing populating /LoadingTestArea."
+
+// You should only need this once.
+// Make sure you have passed the above into F# Interactive.
+populateLoadingTestArea ()
+
+(* Creating the Saving Test Area Script
+==============================================================================
+This bit of code is for creating the SavingTestArea folder which Test Centre
+will use when it runs its tests. You will normally only need to run this code
+when you have just cloned this repository or you accidently deleted said
+folder. In other words, you should only need to use it once. *)
+
+let createSavingTestArea () =
+ match Directory.Exists saveLocation with
+ | false ->
+ Directory.CreateDirectory saveLocation |> ignore
+ printfn "SavingTestArea created."
+ | _ -> printfn "SavingTestArea already exists."
+
+(* Before calling this function, make sure the test checking to see if this
+folder exists is failing first. *)
+createSavingTestArea ()
\ No newline at end of file