Skip to content

Commit 258bb2d

Browse files
committed
Added Short2(), Short4(), and Bgr565() tests.
1 parent 20da2b5 commit 258bb2d

File tree

1 file changed

+71
-1
lines changed

1 file changed

+71
-1
lines changed

Test/Framework/PackedVectorTest.cs

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,59 @@ public void NormalizedShort2()
6868
Assert.AreEqual(new Vector4(0, 0, 0, 1), ((IPackedVector)new NormalizedShort2(Vector2.Zero)).ToVector4());
6969
}
7070

71+
[Test]
72+
public void Short2()
73+
{
74+
// Test the limits.
75+
Assert.AreEqual(0x0, new Short2(Vector2.Zero).PackedValue);
76+
Assert.AreEqual(0x7FFF7FFF, new Short2(Vector2.One * 0x7FFF).PackedValue);
77+
Assert.AreEqual(0x80008000, new Short2(Vector2.One * -0x8000).PackedValue);
78+
79+
// Test ToVector2.
80+
Assert.AreEqual(Vector2.One * 0x7FFF, new Short2(Vector2.One * 0x7FFF).ToVector2());
81+
Assert.AreEqual(Vector2.Zero, new Short2(Vector2.Zero).ToVector2());
82+
Assert.AreEqual(Vector2.One * -0x8000, new Short2(Vector2.One * -0x8000).ToVector2());
83+
Assert.AreEqual(Vector2.UnitX * 0x7FFF, new Short2(Vector2.UnitX * 0x7FFF).ToVector2());
84+
Assert.AreEqual(Vector2.UnitY * 0x7FFF, new Short2(Vector2.UnitY * 0x7FFF).ToVector2());
85+
86+
// Test clamping.
87+
Assert.AreEqual(Vector2.One * 0x7FFF, new Short2(Vector2.One * 1234567.0f).ToVector2());
88+
Assert.AreEqual(Vector2.One * -0x8000, new Short2(Vector2.One * -1234567.0f).ToVector2());
89+
90+
// Test ToVector4.
91+
Assert.AreEqual(new Vector4(0x7FFF, 0x7FFF, 0, 1), ((IPackedVector)new Short2(Vector2.One * 0x7FFF)).ToVector4());
92+
Assert.AreEqual(new Vector4(0, 0, 0, 1), ((IPackedVector)new Short2(Vector2.Zero)).ToVector4());
93+
Assert.AreEqual(new Vector4(-0x8000, -0x8000, 0, 1), ((IPackedVector)new Short2(Vector2.One * -0x8000)).ToVector4());
94+
}
95+
96+
[Test]
97+
public void Short4()
98+
{
99+
// Test the limits.
100+
Assert.AreEqual(0x0, new Short4(Vector4.Zero).PackedValue);
101+
Assert.AreEqual(0x7FFF7FFF7FFF7FFF, new Short4(Vector4.One * 0x7FFF).PackedValue);
102+
Assert.AreEqual(0x8000800080008000, new Short4(Vector4.One * -0x8000).PackedValue);
103+
104+
// Test ToVector4.
105+
Assert.AreEqual(Vector4.One * 0x7FFF, new Short4(Vector4.One * 0x7FFF).ToVector4());
106+
Assert.AreEqual(Vector4.Zero, new Short4(Vector4.Zero).ToVector4());
107+
Assert.AreEqual(Vector4.One * -0x8000, new Short4(Vector4.One * -0x8000).ToVector4());
108+
Assert.AreEqual(Vector4.UnitX * 0x7FFF, new Short4(Vector4.UnitX * 0x7FFF).ToVector4());
109+
Assert.AreEqual(Vector4.UnitY * 0x7FFF, new Short4(Vector4.UnitY * 0x7FFF).ToVector4());
110+
Assert.AreEqual(Vector4.UnitZ * 0x7FFF, new Short4(Vector4.UnitZ * 0x7FFF).ToVector4());
111+
Assert.AreEqual(Vector4.UnitW * 0x7FFF, new Short4(Vector4.UnitW * 0x7FFF).ToVector4());
112+
113+
// Test clamping.
114+
Assert.AreEqual(Vector4.One * 0x7FFF, new Short4(Vector4.One * 1234567.0f).ToVector4());
115+
Assert.AreEqual(Vector4.One * -0x8000, new Short4(Vector4.One * -1234567.0f).ToVector4());
116+
}
117+
71118
[Test]
72119
public void Bgra4444()
73120
{
74121
// Test the limits.
75122
Assert.AreEqual(0x0, new Bgra4444(Vector4.Zero).PackedValue);
76123
Assert.AreEqual(0xFFFF, new Bgra4444(Vector4.One).PackedValue);
77-
Assert.AreEqual(0x0, new Bgra4444(-Vector4.One).PackedValue);
78124

79125
// Test ToVector4.
80126
Assert.AreEqual(Vector4.One, new Bgra4444(Vector4.One).ToVector4());
@@ -95,6 +141,30 @@ public void Bgra4444()
95141
Assert.AreEqual(0xF000, new Bgra4444(Vector4.UnitW).PackedValue);
96142
}
97143

144+
[Test]
145+
public void Bgr565()
146+
{
147+
// Test the limits.
148+
Assert.AreEqual(0x0, new Bgr565(Vector3.Zero).PackedValue);
149+
Assert.AreEqual(0xFFFF, new Bgr565(Vector3.One).PackedValue);
150+
151+
// Test ToVector3.
152+
Assert.AreEqual(Vector3.One, new Bgr565(Vector3.One).ToVector3());
153+
Assert.AreEqual(Vector3.Zero, new Bgr565(Vector3.Zero).ToVector3());
154+
Assert.AreEqual(Vector3.UnitX, new Bgr565(Vector3.UnitX).ToVector3());
155+
Assert.AreEqual(Vector3.UnitY, new Bgr565(Vector3.UnitY).ToVector3());
156+
Assert.AreEqual(Vector3.UnitZ, new Bgr565(Vector3.UnitZ).ToVector3());
157+
158+
// Test clamping.
159+
Assert.AreEqual(Vector3.Zero, new Bgr565(Vector3.One * -1234.0f).ToVector3());
160+
Assert.AreEqual(Vector3.One, new Bgr565(Vector3.One * 1234.0f).ToVector3());
161+
162+
// Make sure the swizzle is correct.
163+
Assert.AreEqual(0xF800, new Bgr565(Vector3.UnitX).PackedValue);
164+
Assert.AreEqual(0x07E0, new Bgr565(Vector3.UnitY).PackedValue);
165+
Assert.AreEqual(0x001F, new Bgr565(Vector3.UnitZ).PackedValue);
166+
}
167+
98168
[Test]
99169
public void Byte4()
100170
{

0 commit comments

Comments
 (0)