1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.propagation.conversion;
18
19 import org.hipparchus.geometry.euclidean.threed.Vector3D;
20 import org.hipparchus.ode.ODEIntegrator;
21 import org.hipparchus.ode.nonstiff.ClassicalRungeKuttaIntegrator;
22 import org.junit.jupiter.api.Assertions;
23 import org.junit.jupiter.api.Test;
24 import org.orekit.frames.FramesFactory;
25 import org.orekit.orbits.CartesianOrbit;
26 import org.orekit.orbits.OrbitType;
27 import org.orekit.time.AbsoluteDate;
28 import org.orekit.utils.AbsolutePVCoordinates;
29
30 class ClassicalRungeKuttaIntegratorBuilderTest {
31
32 @Test
33 void testBuildIntegrator() {
34
35 final AbsolutePVCoordinates absolutePVCoordinates = new AbsolutePVCoordinates(FramesFactory.getGCRF(),
36 AbsoluteDate.ARBITRARY_EPOCH, Vector3D.MINUS_I, Vector3D.MINUS_K);
37 final double step = 10;
38 final ClassicalRungeKuttaIntegratorBuilder builder = new ClassicalRungeKuttaIntegratorBuilder(step);
39
40 final ODEIntegrator integrator = builder.buildIntegrator(absolutePVCoordinates);
41
42 final ClassicalRungeKuttaIntegrator actualIntegrator = (ClassicalRungeKuttaIntegrator) integrator;
43 final CartesianOrbit orbit = new CartesianOrbit(absolutePVCoordinates.getPVCoordinates(), absolutePVCoordinates.getFrame(),
44 absolutePVCoordinates.getDate(), 1.);
45 final ClassicalRungeKuttaIntegrator expectedIntegrator = (ClassicalRungeKuttaIntegrator) builder.buildIntegrator(orbit, OrbitType.CARTESIAN);
46 Assertions.assertEquals(expectedIntegrator.getCurrentSignedStepsize(), actualIntegrator.getCurrentSignedStepsize());
47 }
48
49 }