Created
December 5, 2019 14:40
-
-
Save cpebble/d9ed04ced876fa76bfcdee0e122e793b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Testing | |
/// <summary>En funktion der tager en tuple med tests. | |
/// Understøtter også to pointers med til succeser og fejltagelser </summary> | |
/// <remarks></remarks> | |
/// <param name='func'>En testfunction</param> | |
/// <param name='funcName'>Funktionsnavnet der bliver testet</param> | |
/// <param name='tests'>Tuple med tests</param> | |
/// <param name='succPointer'>Pointer der inkrementeres når en test består</param> | |
/// <param name='succPointer'>Pointer der inkrementeres når en test fejler</param> | |
/// <returns>Unit; Printer, men returner intet</returns> | |
/// <example>Her følger et eksempel på en tuple til tests | |
/// <code> | |
/// ( | |
/// (fun (arguments) -> {function to test} ), | |
/// "name of function to test", | |
/// ( | |
/// ((arguments, 1,2,3,4), Target to pass test) | |
/// ((arguments, 5,6,7,8), Second target) | |
/// ((arguments, 9,8,7,6), Also a target) | |
/// ), | |
/// ) | |
/// </code> | |
/// </example> | |
let testModule (func, funcName, tests) succPointer failPointer = | |
printfn "TESTING function %s" funcName | |
for testArgs, target in tests do | |
printfn "Testing: %A \nTarget: %A" testArgs target | |
let run = func testArgs | |
let passed = ( run = target ) | |
if passed then | |
succPointer := !succPointer + 1 | |
else | |
failPointer := !failPointer + 1 | |
printfn "Result %A\n Passed: %b\n----------------" run passed | |
/// <summary>En funktion der agrunder en vektor til tre decimaler</summary> | |
/// <remarks></remarks> | |
/// <param name='x,y'>En vektor</param> | |
/// <returns>(x,y) afrundet til tre decimaler</returns> | |
let roundVector (x:float, y:float) = | |
let xRounded = System.Math.Round (x, 3) | |
let yRounded = System.Math.Round (y, 3) | |
(xRounded, yRounded) | |
/// <summary>En funktion der afrunder et tal</summary> | |
/// <remarks>Bruger .NETs Math library</remarks> | |
/// <param name='n'>float</param> | |
/// <returns>float: afrundet floar til tre decimaler</returns> | |
let roundFloat (n:float) = | |
System.Math.Round (n, 3) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment