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
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 () |