Skip to content

Commit 594f252

Browse files
committed
Add some basic floatspan unit tests
1 parent d2f6624 commit 594f252

1 file changed

Lines changed: 162 additions & 0 deletions

File tree

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
namespace TestSystem.Math;
2+
3+
[TestClass]
4+
public class FloatSpanTest
5+
{
6+
[TestMethod]
7+
public void Max()
8+
{
9+
var data = new float[] { 1.0f, 5.0f, 3.0f, 9.0f, 2.0f };
10+
var span = new FloatSpan( data );
11+
12+
Assert.AreEqual( 9.0f, span.Max() );
13+
}
14+
15+
[TestMethod]
16+
public void Max_Empty()
17+
{
18+
var data = new float[0];
19+
var span = new FloatSpan( data );
20+
21+
Assert.AreEqual( 0.0f, span.Max() );
22+
}
23+
24+
[TestMethod]
25+
public void Min()
26+
{
27+
var data = new float[] { 1.0f, 5.0f, 3.0f, 9.0f, 2.0f };
28+
var span = new FloatSpan( data );
29+
30+
Assert.AreEqual( 1.0f, span.Min() );
31+
}
32+
33+
[TestMethod]
34+
public void Min_Empty()
35+
{
36+
var data = new float[0];
37+
var span = new FloatSpan( data );
38+
39+
Assert.AreEqual( 0.0f, span.Min() );
40+
}
41+
42+
[TestMethod]
43+
public void Average()
44+
{
45+
var data = new float[] { 2.0f, 4.0f, 6.0f, 8.0f };
46+
var span = new FloatSpan( data );
47+
48+
Assert.AreEqual( 5.0f, span.Average() );
49+
}
50+
51+
[TestMethod]
52+
public void Average_Empty()
53+
{
54+
var data = new float[0];
55+
var span = new FloatSpan( data );
56+
57+
Assert.AreEqual( 0.0f, span.Average() );
58+
}
59+
60+
[TestMethod]
61+
public void Sum()
62+
{
63+
var data = new float[] { 1.0f, 2.0f, 3.0f, 4.0f };
64+
var span = new FloatSpan( data );
65+
66+
Assert.AreEqual( 10.0f, span.Sum() );
67+
}
68+
69+
[TestMethod]
70+
public void Sum_Empty()
71+
{
72+
var data = new float[0];
73+
var span = new FloatSpan( data );
74+
75+
Assert.AreEqual( 0.0f, span.Sum() );
76+
}
77+
78+
[TestMethod]
79+
public void Set_Value()
80+
{
81+
var data = new float[5];
82+
var span = new FloatSpan( data );
83+
84+
span.Set( 7.5f );
85+
86+
foreach ( var value in data )
87+
{
88+
Assert.AreEqual( 7.5f, value );
89+
}
90+
}
91+
92+
[TestMethod]
93+
public void Set_Span()
94+
{
95+
var data = new float[4];
96+
var span = new FloatSpan( data );
97+
var values = new float[] { 1.0f, 2.0f, 3.0f, 4.0f };
98+
99+
span.Set( values );
100+
101+
CollectionAssert.AreEqual( values, data );
102+
}
103+
104+
[TestMethod]
105+
public void CopyScaled()
106+
{
107+
var data = new float[4];
108+
var span = new FloatSpan( data );
109+
var values = new float[] { 1.0f, 2.0f, 3.0f, 4.0f };
110+
111+
span.CopyScaled( values, 2.0f );
112+
113+
Assert.AreEqual( 2.0f, data[0] );
114+
Assert.AreEqual( 4.0f, data[1] );
115+
Assert.AreEqual( 6.0f, data[2] );
116+
Assert.AreEqual( 8.0f, data[3] );
117+
}
118+
119+
[TestMethod]
120+
public void Add()
121+
{
122+
var data = new float[] { 1.0f, 2.0f, 3.0f, 4.0f };
123+
var span = new FloatSpan( data );
124+
var values = new float[] { 10.0f, 20.0f, 30.0f, 40.0f };
125+
126+
span.Add( values );
127+
128+
Assert.AreEqual( 11.0f, data[0] );
129+
Assert.AreEqual( 22.0f, data[1] );
130+
Assert.AreEqual( 33.0f, data[2] );
131+
Assert.AreEqual( 44.0f, data[3] );
132+
}
133+
134+
[TestMethod]
135+
public void AddScaled()
136+
{
137+
var data = new float[] { 1.0f, 2.0f, 3.0f, 4.0f };
138+
var span = new FloatSpan( data );
139+
var values = new float[] { 10.0f, 20.0f, 30.0f, 40.0f };
140+
141+
span.AddScaled( values, 0.5f );
142+
143+
Assert.AreEqual( 6.0f, data[0] );
144+
Assert.AreEqual( 12.0f, data[1] );
145+
Assert.AreEqual( 18.0f, data[2] );
146+
Assert.AreEqual( 24.0f, data[3] );
147+
}
148+
149+
[TestMethod]
150+
public void Scale()
151+
{
152+
var data = new float[] { 2.0f, 4.0f, 6.0f, 8.0f };
153+
var span = new FloatSpan( data );
154+
155+
span.Scale( 0.5f );
156+
157+
Assert.AreEqual( 1.0f, data[0] );
158+
Assert.AreEqual( 2.0f, data[1] );
159+
Assert.AreEqual( 3.0f, data[2] );
160+
Assert.AreEqual( 4.0f, data[3] );
161+
}
162+
}

0 commit comments

Comments
 (0)