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.

113 lines
4.2 KiB

//// 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<Brushes>.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 ()