1 package org.orekit.propagation.conversion;
2
3 import org.hipparchus.ode.AbstractFieldIntegrator;
4 import org.hipparchus.ode.nonstiff.AdamsMoultonFieldIntegrator;
5 import org.hipparchus.util.Binary64;
6 import org.hipparchus.util.Binary64Field;
7 import org.junit.jupiter.api.Assertions;
8 import org.junit.jupiter.api.Test;
9 import org.mockito.Mockito;
10 import org.orekit.frames.FramesFactory;
11 import org.orekit.propagation.ToleranceProvider;
12 import org.orekit.time.AbsoluteDate;
13 import org.orekit.utils.AbsolutePVCoordinates;
14 import org.orekit.utils.FieldAbsolutePVCoordinates;
15 import org.orekit.utils.PVCoordinates;
16 import org.orekit.utils.TimeStampedPVCoordinates;
17
18 class AdamsMoultonFieldIntegratorBuilderTest {
19
20 @Test
21 void testBuildIntegrator() {
22
23 final double minStep = 1;
24 final ToleranceProvider mockedProvider = Mockito.mock(ToleranceProvider.class);
25 final FieldAbsolutePVCoordinates<Binary64> fieldAbsolutePVCoordinates = new FieldAbsolutePVCoordinates<>(
26 Binary64Field.getInstance(), new AbsolutePVCoordinates(FramesFactory.getGCRF(),
27 new TimeStampedPVCoordinates(AbsoluteDate.ARBITRARY_EPOCH, new PVCoordinates())));
28 Mockito.when(mockedProvider.getTolerances(fieldAbsolutePVCoordinates)).thenReturn(new double[6][6]);
29 final int nSteps = 2;
30
31 final AdamsMoultonFieldIntegratorBuilder<Binary64> builder = new AdamsMoultonFieldIntegratorBuilder<>(nSteps, minStep,
32 minStep, mockedProvider);
33 final AbstractFieldIntegrator<Binary64> integrator = builder.buildIntegrator(fieldAbsolutePVCoordinates);
34
35 Assertions.assertInstanceOf(AdamsMoultonFieldIntegrator.class, integrator);
36 }
37
38 @Test
39 void testToODEIntegratorBuilder() {
40
41 final ToleranceProvider mockedProvider = Mockito.mock(ToleranceProvider.class);
42 final int nSteps = 2;
43 final AdamsMoultonFieldIntegratorBuilder<Binary64> fieldIntegratorBuilder = new AdamsMoultonFieldIntegratorBuilder<>(nSteps, 1,
44 2., mockedProvider);
45
46 final AdamsMoultonIntegratorBuilder integratorBuilder = fieldIntegratorBuilder.toODEIntegratorBuilder();
47
48 Assertions.assertEquals(integratorBuilder.getMinStep(), fieldIntegratorBuilder.getMinStep());
49 Assertions.assertEquals(integratorBuilder.getMaxStep(), fieldIntegratorBuilder.getMaxStep());
50 }
51 }