1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.estimation.measurements;
18
19 import org.hipparchus.geometry.euclidean.threed.Vector3D;
20 import org.hipparchus.util.FastMath;
21 import org.junit.Assert;
22 import org.junit.Test;
23 import org.orekit.Utils;
24 import org.orekit.bodies.GeodeticPoint;
25 import org.orekit.bodies.OneAxisEllipsoid;
26 import org.orekit.frames.FramesFactory;
27 import org.orekit.frames.TopocentricFrame;
28 import org.orekit.time.AbsoluteDate;
29 import org.orekit.utils.Constants;
30 import org.orekit.utils.IERSConventions;
31
32
33
34
35 public class ComparableMeasurementTest {
36
37
38 @Test
39 public void testDefaultCompareToIssue538() {
40
41
42 boolean print = false;
43
44
45 Utils.setDataRoot("regular-data");
46 OneAxisEllipsoid earth = new OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS, Constants.WGS84_EARTH_FLATTENING,
47 FramesFactory.getITRF(IERSConventions.IERS_2010, false));
48 TopocentricFrame stationFrame = new TopocentricFrame(earth, new GeodeticPoint(FastMath.toRadians(45.0), FastMath.toRadians(0.0), 0.0), "station");
49 GroundStation station = new GroundStation(stationFrame);
50 AbsoluteDate date = AbsoluteDate.J2000_EPOCH;
51
52
53
54
55 ObservableSatellite satellite = new ObservableSatellite(0);
56 Range range = new Range(station, false, date, 400e3, 1.0, 1.0, satellite);
57 AngularAzEl azel = new AngularAzEl(station, date, new double[] {1.0, 0.5}, new double[] {1.0e-2, 1.0e-2}, new double[] {1.0, 1.0}, satellite);
58 PV pv = new PV(date.shiftedBy(-1.), new Vector3D(7e3,7e3,7e3), new Vector3D(7,7,7), 1., 1e-3, 1., satellite);
59 PV pv2 = new PV(date.shiftedBy(-1.), new Vector3D(7e3,7e3,7e3), new Vector3D(7,7,7), 1., 1e-3, 1., satellite);
60 PV pv3 = new PV(date.shiftedBy(-1.), new Vector3D(7e3,7e3,7e3), new Vector3D(7,8,7), 1., 1e-3, 1., satellite);
61
62
63 if (print) {
64 System.out.println("azel.compareTo(azel) = " + azel.compareTo(azel));
65 System.out.println("pv.compareTo(azel) = " + pv.compareTo(azel));
66 System.out.println("range.compareTo(pv2) = " + range.compareTo(pv2));
67 System.out.println("range.compareTo(azel) = " + range.compareTo(azel));
68 System.out.println("azel.compareTo(range) = " + azel.compareTo(range));
69 System.out.println("pv.compareTo(pv3) = " + pv.compareTo(pv3));
70 System.out.println("pv3.compareTo(pv) = " + pv3.compareTo(pv));
71 System.out.println("pv.compareTo(pv2) = " + pv.compareTo(pv2));
72 System.out.println("pv2.compareTo(pv) = " + pv.compareTo(pv2));
73 }
74
75
76 Assert.assertEquals(azel.compareTo(azel), 0);
77
78
79 Assert.assertEquals(pv.compareTo(azel), -1);
80 Assert.assertEquals(range.compareTo(pv2), +1);
81
82
83 Assert.assertEquals(range.compareTo(azel), -1);
84 Assert.assertEquals(azel.compareTo(range), +1);
85
86
87 Assert.assertEquals(pv.compareTo(pv3), -1);
88 Assert.assertEquals(pv3.compareTo(pv), +1);
89
90
91 Assert.assertEquals(pv.compareTo(pv2), -1);
92 Assert.assertEquals(pv2.compareTo(pv), -1);
93
94 }
95 }