From fee1cfe21bd2647a69fb42fccfd7df37b2a604b6 Mon Sep 17 00:00:00 2001 From: varon Date: Sun, 19 Mar 2017 13:39:01 +0200 Subject: [PATCH] Improve vector test organization --- tests/OpenTK.Tests/Vectors.fs | 110 ++++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 42 deletions(-) diff --git a/tests/OpenTK.Tests/Vectors.fs b/tests/OpenTK.Tests/Vectors.fs index 3adeb2f..90ba1b1 100644 --- a/tests/OpenTK.Tests/Vectors.fs +++ b/tests/OpenTK.Tests/Vectors.fs @@ -36,51 +36,77 @@ type VectorGen = static member Vector3() = Generators.Vec3 static member Vector4() = Generators.Vec4 -[ |])>] -module ``Vector2 tests`` = - // - [] - let ``Vector equality is by component`` (a : Vector2,b : Vector2) = +module Vector2 = + [ |])>] + module ``Simple Properties`` = // - Assert.Equal((a.X = b.X && a.Y = b.Y),(a = b)) + [] + let ``Vector equality is by component`` (a : Vector2,b : Vector2) = + // + Assert.Equal((a.X = b.X && a.Y = b.Y),(a = b)) + + [] + let ``Vector length is always >= 0`` (a : Vector2) = + // + Assert.True(a.Length >= 0.0f) - [] - let ``Vector length is always >= 0`` (a : Vector2) = + [ |])>] + module Addition = // - Assert.True(a.Length >= 0.0f) + [] + let ``Vector addition is the same as component addition`` (a : Vector2,b : Vector2) = + let c = a + b + Assert.Equal(a.X + b.X,c.X) + Assert.Equal(a.Y + b.Y,c.Y) + + [] + let ``Vector addition is commutative`` (a : Vector2,b : Vector2) = + let c = a + b + let c2 = b + a + Assert.Equal(c,c2) + + [] + let ``Vector addition is associative`` (a : Vector2,b : Vector2,c : Vector2) = + let r1 = (a + b) + c + let r2 = a + (b + c) + Assert.Equal(r1,r2) - [] - let ``Vector addition is the same as component addition`` (a : Vector2,b : Vector2) = - let c = a + b - Assert.Equal(a.X + b.X,c.X) - Assert.Equal(a.Y + b.Y,c.Y) - - [] - let ``Vector addition is commutative`` (a : Vector2,b : Vector2) = - let c = a + b - let c2 = b + a - Assert.Equal(c,c2) - - [] - let ``Vector addition is associative`` (a : Vector2,b : Vector2,c : Vector2) = - let r1 = (a + b) + c - let r2 = a + (b + c) - Assert.Equal(r1,r2) - - [] - let ``Vector multiplication is the same as component multiplication`` (a : Vector2,b : Vector2) = - let c = a * b - Assert.Equal(a.X * b.X,c.X) - Assert.Equal(a.Y * b.Y,c.Y) + [ |])>] + module Multiplication = + // + [] + let ``Vector multiplication is the same as component multiplication`` (a : Vector2,b : Vector2) = + let c = a * b + Assert.Equal(a.X * b.X,c.X) + Assert.Equal(a.Y * b.Y,c.Y) + + [] + let ``Vector multiplication is commutative`` (a : Vector2,b : Vector2) = + let r1 = a * b + let r2 = b * a + Assert.Equal(r1,r2) + + [] + let ``Vector-float multiplication is the same as component-float multiplication`` (a : Vector2,f : float32) = + let r = a * f + Assert.Equal(a.X * f,r.X) + Assert.Equal(a.Y * f,r.Y) - [] - let ``Vector multiplication is commutative`` (a : Vector2,b : Vector2) = - let r1 = a * b - let r2 = b * a - Assert.Equal(r1,r2) + [ |])>] + module Subtraction = + // + [] + let ``Vector subtraction is the same as component subtraction`` (a : Vector2,b : Vector2) = + let c = a - b + Assert.Equal(a.X - b.X,c.X) + Assert.Equal(a.Y - b.Y,c.Y) - [] - let ``Vector-float multiplication is the same as component-float multiplication`` (a : Vector2,f : float32) = - let r = a * f - Assert.Equal(a.X * f,r.X) - Assert.Equal(a.Y * f,r.Y) + [ |])>] + module Division = + // + [] + let ``Vector-float division is the same as component-float division`` (a : Vector2,f : float32) = + if f <> 0.0f then + let r = a / f + Assert.Equal(a.X / f,r.X) + Assert.Equal(a.Y / f,r.Y) -- 2.7.4