Add additional Vector2 tests
This commit is contained in:
parent
3ef546b456
commit
6e0f55a584
1 changed files with 33 additions and 0 deletions
|
@ -7,6 +7,39 @@ open System
|
||||||
open OpenTK
|
open OpenTK
|
||||||
|
|
||||||
module Vector2 =
|
module Vector2 =
|
||||||
|
[<Properties(Arbitrary = [| typeof<OpenTKGen> |])>]
|
||||||
|
module Constructors =
|
||||||
|
//
|
||||||
|
[<Property>]
|
||||||
|
let ``Single value constructor sets all components to the same value`` (f : float32) =
|
||||||
|
let v = Vector2(f)
|
||||||
|
Assert.Equal(f,v.X)
|
||||||
|
Assert.Equal(f,v.Y)
|
||||||
|
|
||||||
|
[<Property>]
|
||||||
|
let ``Two value constructor sets all components correctly`` (x,y) =
|
||||||
|
let v = Vector2(x,y)
|
||||||
|
Assert.Equal(x,v.X)
|
||||||
|
Assert.Equal(y,v.Y)
|
||||||
|
|
||||||
|
[<Property>]
|
||||||
|
let ``Index operators work for the correct components`` (x,y) =
|
||||||
|
let v = Vector2(x,y)
|
||||||
|
Assert.Equal(v.[0],v.X)
|
||||||
|
Assert.Equal(v.[1],v.Y)
|
||||||
|
|
||||||
|
[<Property>]
|
||||||
|
let ``Clamping works for each component`` (a : Vector2,b : Vector2,c : Vector2) =
|
||||||
|
let inline clamp (value : float32) minV maxV = MathHelper.Clamp(value,minV,maxV)
|
||||||
|
let r = Vector2.Clamp(a,b,c)
|
||||||
|
Assert.Equal(clamp a.X b.X c.X,r.X)
|
||||||
|
Assert.Equal(clamp a.X b.X c.X,r.Y)
|
||||||
|
|
||||||
|
[<Property>]
|
||||||
|
let ``Length is always >= 0`` (a : Vector2) =
|
||||||
|
//
|
||||||
|
Assert.True(a.Length >= 0.0f)
|
||||||
|
|
||||||
[<Properties(Arbitrary = [| typeof<OpenTKGen> |])>]
|
[<Properties(Arbitrary = [| typeof<OpenTKGen> |])>]
|
||||||
module ``Simple Properties`` =
|
module ``Simple Properties`` =
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in a new issue