1 package org.orekit.time;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.junit.Assert;
7 import org.junit.Before;
8 import org.junit.Test;
9 import org.orekit.Utils;
10 import org.orekit.data.LazyLoadedDataContext;
11 import org.orekit.utils.IERSConventions;
12
13
14
15
16
17
18 public class LazyLoadedTimeScalesTest {
19
20
21 private LazyLoadedTimeScales timeScales;
22
23
24 @Before
25 public void setUp() {
26 LazyLoadedDataContext defaultContext =
27 (LazyLoadedDataContext) Utils.setDataRoot("regular-data");
28 timeScales = defaultContext.getTimeScales();
29 }
30
31
32
33
34
35 @Test
36 public void testGetGMST() {
37 DateTimeComponents reference = new DateTimeComponents(2000, 1, 1, 12, 0, 0.0);
38 List<TimeScale> scales = new ArrayList<>();
39
40 for (IERSConventions conventions : IERSConventions.values()) {
41 for (boolean simpleEop : new boolean[]{true, false}) {
42
43 GMSTScale gmst = timeScales.getGMST(conventions, simpleEop);
44 UT1Scale ut1 = timeScales.getUT1(conventions, simpleEop);
45 AbsoluteDate date = new AbsoluteDate(reference, ut1);
46 String message = conventions + " " + simpleEop;
47
48
49 Assert.assertSame(message, gmst, timeScales.getGMST(conventions, simpleEop));
50 double expected = 24110.54841 + ut1.offsetFromTAI(date);
51 Assert.assertEquals(message, expected, gmst.offsetFromTAI(date), 0);
52 Assert.assertTrue(message + " " + scales, !scales.contains(gmst));
53 scales.add(gmst);
54 }
55 }
56 }
57
58
59 @Test
60 public void testGetUt1() {
61 UTCScale utc = timeScales.getUTC();
62 DateTimeComponents reference = new DateTimeComponents(2004, 2, 1);
63 AbsoluteDate date = new AbsoluteDate(reference, utc);
64 List<TimeScale> scales = new ArrayList<>();
65
66 for (IERSConventions conventions : IERSConventions.values()) {
67 for (boolean simpleEop : new boolean[]{true, false}) {
68
69 UT1Scale ut1 = timeScales.getUT1(conventions, simpleEop);
70 String message = conventions + " " + simpleEop;
71
72
73 Assert.assertSame(message, ut1, timeScales.getUT1(conventions, simpleEop));
74 Assert.assertSame(ut1.getEOPHistory().getConventions(), conventions);
75 double expected = utc.offsetFromTAI(date);
76 if (conventions != IERSConventions.IERS_1996) {
77 expected += -0.4051590;
78 }
79 if (!simpleEop) {
80 expected += conventions.getEOPTidalCorrection(timeScales).value(date)[2];
81 }
82 Assert.assertEquals(message, expected, ut1.offsetFromTAI(date), 0);
83 Assert.assertTrue(message + " " + scales, !scales.contains(ut1));
84 scales.add(ut1);
85 }
86 }
87 }
88
89 }