1   package org.orekit.propagation.conversion;
2   
3   import org.hipparchus.ode.AbstractFieldIntegrator;
4   import org.hipparchus.ode.nonstiff.AdamsBashforthFieldIntegrator;
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 AdamsBashforthFieldIntegratorBuilderTest {
19  
20      @Test
21      void testBuildIntegrator() {
22          // GIVEN
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          // WHEN
31          final AdamsBashforthFieldIntegratorBuilder<Binary64> builder = new AdamsBashforthFieldIntegratorBuilder<>(nSteps, minStep,
32                  minStep, mockedProvider);
33          final AbstractFieldIntegrator<Binary64> integrator = builder.buildIntegrator(fieldAbsolutePVCoordinates);
34          Assertions.assertInstanceOf(AdamsBashforthFieldIntegrator.class, integrator);
35      }
36  
37      @Test
38      void testToODEIntegratorBuilder() {
39          // GIVEN
40          final ToleranceProvider mockedProvider = Mockito.mock(ToleranceProvider.class);
41          final int nSteps = 2;
42          final AdamsBashforthFieldIntegratorBuilder<Binary64> fieldIntegratorBuilder = new AdamsBashforthFieldIntegratorBuilder<>(nSteps, 1,
43                  2., mockedProvider);
44          // WHEN
45          final AdamsBashforthIntegratorBuilder integratorBuilder = fieldIntegratorBuilder.toODEIntegratorBuilder();
46          // THEN
47          Assertions.assertEquals(integratorBuilder.getMinStep(), fieldIntegratorBuilder.getMinStep());
48          Assertions.assertEquals(integratorBuilder.getMaxStep(), fieldIntegratorBuilder.getMaxStep());
49      }
50  
51  }