1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.orekit.propagation.events;
19
20 import org.junit.jupiter.api.Assertions;
21 import org.junit.jupiter.api.Test;
22 import org.orekit.propagation.Propagator;
23 import org.orekit.propagation.analytical.KeplerianPropagator;
24 import org.orekit.propagation.events.handlers.RecordAndContinue;
25
26
27
28
29
30
31
32 public class CloseEventsAnalyticalKeplerianTest extends CloseEventsAbstractTest {
33
34 @Override
35 public Propagator getPropagator(double stepSize) {
36 return new KeplerianPropagator(initialOrbit);
37 }
38
39
40
41
42 @Test
43 public void testBigStep() {
44
45 Propagator propagator = getPropagator(1e100);
46 propagator.setStepHandler(interpolator -> {});
47 double period = 2 * initialOrbit.getKeplerianPeriod();
48
49 RecordAndContinue handler = new RecordAndContinue();
50 TimeDetector detector = new TimeDetector(1, period - 1)
51 .withHandler(handler)
52 .withMaxCheck(1e100)
53 .withThreshold(1);
54 propagator.addEventDetector(detector);
55
56
57 propagator.propagate(epoch.shiftedBy(period));
58
59
60 Assertions.assertEquals(0, handler.getEvents().size());
61 }
62
63
64 @Test
65 public void testBigStepReverse() {
66
67 Propagator propagator = getPropagator(1e100);
68 propagator.setStepHandler(interpolator -> {});
69 double period = -2 * initialOrbit.getKeplerianPeriod();
70
71 RecordAndContinue handler = new RecordAndContinue();
72 TimeDetector detector = new TimeDetector(-1, period + 1)
73 .withHandler(handler)
74 .withMaxCheck(1e100)
75 .withThreshold(1);
76 propagator.addEventDetector(detector);
77
78
79 propagator.propagate(epoch.shiftedBy(period));
80
81
82 Assertions.assertEquals(0, handler.getEvents().size());
83 }
84
85 }