1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.control.indirect.adjoint.cost;
18
19 import org.hipparchus.complex.Complex;
20 import org.hipparchus.complex.ComplexField;
21 import org.hipparchus.util.MathArrays;
22 import org.junit.jupiter.api.Assertions;
23 import org.junit.jupiter.api.Test;
24 import org.mockito.Mockito;
25
26 class AbstractCartesianCostTest {
27
28 @Test
29 void testGetFieldAdjointVelocityNorm() {
30
31 final Complex[] fieldAdjoint = MathArrays.buildArray(ComplexField.getInstance(), 6);
32 for (int i = 0; i < fieldAdjoint.length; i++) {
33 fieldAdjoint[i] = Complex.ONE.multiply(i);
34 }
35 final double[] adjoint = new double[fieldAdjoint.length];
36 for (int i = 0; i < fieldAdjoint.length; i++) {
37 adjoint[i] = fieldAdjoint[i].getReal();
38 }
39 final AbstractCartesianCost cartesianEnergy = Mockito.mock(AbstractCartesianCost.class);
40 Mockito.when(cartesianEnergy.getFieldAdjointVelocityNorm(fieldAdjoint)).thenCallRealMethod();
41 Mockito.when(cartesianEnergy.getAdjointVelocityNorm(adjoint)).thenCallRealMethod();
42
43 final Complex fieldNorm = cartesianEnergy.getFieldAdjointVelocityNorm(fieldAdjoint);
44
45 Assertions.assertEquals(cartesianEnergy.getAdjointVelocityNorm(adjoint), fieldNorm.getReal());
46 }
47 }