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