1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.orekit.propagation.conversion;
19
20 import org.hipparchus.geometry.euclidean.threed.Vector3D;
21 import org.junit.jupiter.api.Assertions;
22 import org.junit.jupiter.api.BeforeEach;
23 import org.junit.jupiter.api.Test;
24 import org.orekit.Utils;
25 import org.orekit.forces.gravity.potential.GravityFieldFactory;
26 import org.orekit.forces.gravity.potential.UnnormalizedSphericalHarmonicsProvider;
27 import org.orekit.frames.FramesFactory;
28 import org.orekit.orbits.CartesianOrbit;
29 import org.orekit.orbits.Orbit;
30 import org.orekit.orbits.PositionAngleType;
31 import org.orekit.time.AbsoluteDate;
32 import org.orekit.utils.Constants;
33 import org.orekit.utils.PVCoordinates;
34
35 import static org.orekit.propagation.conversion.AbstractPropagatorBuilderTest.assertPropagatorBuilderIsACopy;
36
37 public class EcksteinHechlerPropagatorBuilderTest {
38
39 @BeforeEach
40 public void initialize() {
41 Utils.setDataRoot("potential");
42 }
43
44 @Test
45 void testClone() {
46
47
48 final Orbit orbit = new CartesianOrbit(new PVCoordinates(
49 new Vector3D(Constants.EIGEN5C_EARTH_EQUATORIAL_RADIUS + 400000, 0, 0),
50 new Vector3D(10, 7668.6, 3)), FramesFactory.getGCRF(),
51 new AbsoluteDate(), Constants.EIGEN5C_EARTH_MU);
52
53 final UnnormalizedSphericalHarmonicsProvider harmonicsProvider = GravityFieldFactory.getUnnormalizedProvider(6, 0);
54
55 final EcksteinHechlerPropagatorBuilder builder = new EcksteinHechlerPropagatorBuilder(orbit, harmonicsProvider,
56 PositionAngleType.MEAN, 10.0);
57
58
59 final EcksteinHechlerPropagatorBuilder copyBuilder = (EcksteinHechlerPropagatorBuilder) builder.clone();
60
61
62 assertPropagatorBuilderIsACopy(builder, copyBuilder);
63 Assertions.assertEquals(builder.getImpulseManeuvers().size(), copyBuilder.getImpulseManeuvers().size());
64
65 }
66 }