Skip to content

Commit 52fc52a

Browse files
committed
Adding unit test for the array reversal function
1 parent 56570d9 commit 52fc52a

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package org.csstudio.apputil.formula.array;
2+
3+
import org.epics.util.array.ArrayDouble;
4+
import org.epics.util.array.ListDouble;
5+
import org.epics.vtype.Alarm;
6+
import org.epics.vtype.Display;
7+
import org.epics.vtype.Time;
8+
import org.epics.vtype.VNumberArray;
9+
import org.epics.vtype.VType;
10+
import org.junit.jupiter.api.Test;
11+
12+
import java.util.Arrays;
13+
14+
import static org.junit.jupiter.api.Assertions.*;
15+
16+
class ArrayReversalFunctionTest {
17+
private final ArrayReversalFunction function = new ArrayReversalFunction();
18+
19+
@Test
20+
void testReverseTypicalArray() throws Exception {
21+
VNumberArray input = VNumberArray.of(ArrayDouble.of(1, 2, 3, 4, 5), Alarm.none(), Time.now(), Display.none());
22+
VType result = function.compute(input);
23+
assertTrue(result instanceof VNumberArray);
24+
double[] reversed = ((VNumberArray) result).getData().toArray(new double[input.getData().size()]);
25+
assertArrayEquals(new double[]{5, 4, 3, 2, 1}, reversed, 1e-9);
26+
}
27+
28+
@Test
29+
void testReverseEmptyArray() throws Exception {
30+
VNumberArray input = VNumberArray.of(ArrayDouble.of(), Alarm.none(), Time.now(), Display.none());
31+
VType result = function.compute(input);
32+
assertTrue(result instanceof VNumberArray);
33+
double[] reversed = ((VNumberArray) result).getData().toArray(new double[input.getData().size()]);
34+
assertArrayEquals(new double[]{}, reversed, 1e-9);
35+
}
36+
37+
@Test
38+
void testReverseSingleElementArray() throws Exception {
39+
VNumberArray input = VNumberArray.of(ArrayDouble.of(42), Alarm.none(), Time.now(), Display.none());
40+
VType result = function.compute(input);
41+
assertTrue(result instanceof VNumberArray);
42+
double[] reversed = ((VNumberArray) result).getData().toArray(new double[input.getData().size()]);
43+
assertArrayEquals(new double[]{42}, reversed, 1e-9);
44+
}
45+
46+
@Test
47+
void testReverseNegativeNumbers() throws Exception {
48+
VNumberArray input = VNumberArray.of(ArrayDouble.of(-1, -2, -3), Alarm.none(), Time.now(), Display.none());
49+
VType result = function.compute(input);
50+
assertTrue(result instanceof VNumberArray);
51+
double[] reversed = ((VNumberArray) result).getData().toArray(new double[input.getData().size()]);
52+
assertArrayEquals(new double[]{-3, -2, -1}, reversed, 1e-9);
53+
}
54+
}

0 commit comments

Comments
 (0)