1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.propagation.sampling;
18
19 import org.junit.jupiter.api.Test;
20 import org.mockito.Mockito;
21 import org.orekit.propagation.SpacecraftState;
22 import org.orekit.time.AbsoluteDate;
23
24 import java.util.List;
25
26 import static org.junit.jupiter.api.Assertions.*;
27
28 class PropagationStepRecorderTest {
29
30 @Test
31 void copyStatesAtConstructionTest() {
32
33 final PropagationStepRecorder recorder = new PropagationStepRecorder();
34
35 final List<SpacecraftState> states = recorder.copyStates();
36
37 assertEquals(0, states.size());
38 }
39
40 @Test
41 void copyStatesTest() {
42
43 final PropagationStepRecorder recorder = new PropagationStepRecorder();
44 recorder.handleStep(mockInterpolator());
45
46 recorder.init(mockState(), AbsoluteDate.ARBITRARY_EPOCH);
47
48 final List<SpacecraftState> states = recorder.copyStates();
49 assertEquals(0, states.size());
50 }
51
52 @Test
53 void handleStepTest() {
54
55 final PropagationStepRecorder recorder = new PropagationStepRecorder();
56 final OrekitStepInterpolator mockedInterpolator = mockInterpolator();
57 final int expectedSize = 10;
58
59 for (int i = 0; i < expectedSize; ++i) {
60 recorder.handleStep(mockedInterpolator);
61 }
62
63 final List<SpacecraftState> states = recorder.copyStates();
64 assertEquals(expectedSize, states.size());
65 }
66
67 private static OrekitStepInterpolator mockInterpolator() {
68 final SpacecraftState state = mockState();
69 final OrekitStepInterpolator mockedInterpolator = Mockito.mock();
70 Mockito.when(mockedInterpolator.getCurrentState()).thenReturn(state);
71 return mockedInterpolator;
72 }
73
74 private static SpacecraftState mockState() {
75 return Mockito.mock(SpacecraftState.class);
76 }
77 }