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.hipparchus.util.Binary64;
20 import org.hipparchus.util.Binary64Field;
21 import org.junit.jupiter.api.Test;
22 import org.orekit.TestUtils;
23 import org.orekit.propagation.FieldSpacecraftState;
24 import org.orekit.propagation.SpacecraftState;
25 import org.orekit.time.AbsoluteDate;
26 import org.orekit.time.FieldAbsoluteDate;
27
28 import java.util.List;
29
30 import static org.junit.jupiter.api.Assertions.assertEquals;
31
32 class FieldPropagationStepRecorderTest {
33
34 @Test
35 void copyStatesAtConstructionTest() {
36
37 final FieldPropagationStepRecorder<Binary64> recorder = new FieldPropagationStepRecorder<>();
38
39 final List<FieldSpacecraftState<Binary64>> states = recorder.copyStates();
40
41 assertEquals(0, states.size());
42 }
43
44 @Test
45 void copyStatesTest() {
46
47 final FieldPropagationStepRecorder<Binary64> recorder = new FieldPropagationStepRecorder<>();
48 final FieldOrekitStepInterpolator<Binary64> interpolator = createInterpolator();
49 recorder.handleStep(interpolator);
50
51 recorder.init(createState(), FieldAbsoluteDate.getArbitraryEpoch(Binary64Field.getInstance()));
52
53 final List<FieldSpacecraftState<Binary64>> states = recorder.copyStates();
54 assertEquals(0, states.size());
55 }
56
57 @Test
58 void handleStepTest() {
59
60 final FieldPropagationStepRecorder<Binary64> recorder = new FieldPropagationStepRecorder<>();
61 final FieldOrekitStepInterpolator<Binary64> interpolator = createInterpolator();
62 final int expectedSize = 10;
63
64 for (int i = 0; i < expectedSize; ++i) {
65 recorder.handleStep(interpolator);
66 }
67
68 final List<FieldSpacecraftState<Binary64>> states = recorder.copyStates();
69 assertEquals(expectedSize, states.size());
70 }
71
72 private static FieldOrekitStepInterpolator<Binary64> createInterpolator() {
73 return new FieldOrekitStepInterpolator<Binary64>() {
74 @Override
75 public FieldSpacecraftState<Binary64> getPreviousState() {
76 return null;
77 }
78
79 @Override
80 public FieldSpacecraftState<Binary64> getCurrentState() {
81 return createState();
82 }
83
84 @Override
85 public FieldSpacecraftState<Binary64> getInterpolatedState(FieldAbsoluteDate<Binary64> date) {
86 return null;
87 }
88
89 @Override
90 public boolean isForward() {
91 return false;
92 }
93
94 @Override
95 public FieldOrekitStepInterpolator<Binary64> restrictStep(FieldSpacecraftState<Binary64> newPreviousState, FieldSpacecraftState<Binary64> newCurrentState) {
96 return null;
97 }
98 };
99 }
100
101 private static FieldSpacecraftState<Binary64> createState() {
102 final SpacecraftState state = new SpacecraftState(TestUtils.getDefaultOrbit(AbsoluteDate.ARBITRARY_EPOCH));
103 return new FieldSpacecraftState<>(Binary64Field.getInstance(), state);
104 }
105 }