--- /dev/null
+namespace ParasitemiaCore.Tests
+
+open Xunit
+open Xunit.Abstractions
+
+open Swensen.Unquote
+
+open ParasitemiaCore.Ellipse
+
+type EllipsesTests (output : ITestOutputHelper) =
+
+ [<Fact>]
+ member this.``Compare the old and new ellipse construction implementations`` () =
+ let rng = System.Random (42)
+
+ let generateParameters () : float * float * float * float * float * float * float * float =
+ rng.NextDouble (),
+ rng.NextDouble (),
+ rng.NextDouble (),
+ rng.NextDouble (),
+ rng.NextDouble (),
+ rng.NextDouble (),
+ rng.NextDouble (),
+ rng.NextDouble ()
+
+ for i in 1 .. 100 do
+ let p1x, p1y, m1, p2x, p2y, m2, p3x, p3y = generateParameters ()
+ let e = ellipse p1x p1y m1 p2x p2y m2 p3x p3y
+ let e' = ellipse' p1x p1y m1 p2x p2y m2 p3x p3y
+
+ output.WriteLine (string e)
+
+ test <@ e = e' @>
+
+ ()
\ No newline at end of file