1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.utils;
18
19 import org.junit.jupiter.api.Assertions;
20 import org.junit.jupiter.api.BeforeEach;
21 import org.junit.jupiter.api.Test;
22 import org.orekit.Utils;
23
24 import java.io.IOException;
25
26 public class TruncatedCcsdsFormatterTest {
27
28 @Test
29 public void testNumber() {
30
31 Assertions.assertEquals("4.940656E-318", new TruncatedCcsdsFormatter().toString( 4.940656E-318d));
32 Assertions.assertEquals("1.18575755E-316", new TruncatedCcsdsFormatter().toString( 1.18575755E-316d));
33 Assertions.assertEquals("2.989102097996E-312", new TruncatedCcsdsFormatter().toString( 2.989102097996E-312d));
34 Assertions.assertEquals("9.0608011534336E15", new TruncatedCcsdsFormatter().toString( 9.0608011534336E15d));
35 Assertions.assertEquals("4.708356024711512E18", new TruncatedCcsdsFormatter().toString( 4.708356024711512E18d));
36 Assertions.assertEquals("9.409340012568248E18", new TruncatedCcsdsFormatter().toString( 9.409340012568248E18d));
37 Assertions.assertEquals("1.853150176586857E21", new TruncatedCcsdsFormatter().toString( 1.8531501765868567E21d));
38 Assertions.assertEquals("-3.347727380279489E33", new TruncatedCcsdsFormatter().toString(-3.347727380279489E33d));
39
40
41 Assertions.assertEquals("-6.974182466276096E19", new TruncatedCcsdsFormatter().toString(-6.9741824662760956E19d));
42 Assertions.assertEquals("4.381605060114784E18", new TruncatedCcsdsFormatter().toString( 4.3816050601147837E18d));
43 Assertions.assertEquals("1.0E-3", new TruncatedCcsdsFormatter().toString( .00100d));
44 Assertions.assertEquals("1.0E0", new TruncatedCcsdsFormatter().toString( 1.0000000000000004d));
45 }
46
47 @Test
48 public void testDateNonTruncated() {
49 Assertions.assertEquals("2021-03-26T09:45:32.4576",
50 new TruncatedCcsdsFormatter().toString(2021, 3, 26, 9, 45, 32.4576d));
51 Assertions.assertEquals("2021-03-26T09:45:00.00000000000001",
52 new TruncatedCcsdsFormatter().toString(2021, 3, 26, 9, 45, 1.0e-14d));
53 }
54
55 @Test
56 public void testDateTruncated() throws IOException {
57 Assertions.assertEquals("2021-03-26T09:45:00.0",
58 new TruncatedCcsdsFormatter().toString(2021, 3, 26, 9, 45, 1.0e-16d));
59 Assertions.assertEquals("2021-03-26T09:45:12.34567891234568",
60 new TruncatedCcsdsFormatter().toString(2021, 3, 26, 9, 45, 12.3456789123456789d));
61 }
62
63
64
65
66
67
68
69 @Test
70 public void testInvalidEdgeCases() {
71 Assertions.assertEquals("2021-03-26T09:45:59.99999999999999",
72 new TruncatedCcsdsFormatter().toString(2021, 3, 26, 9, 45, Math.nextDown(60.0)));
73 Assertions.assertEquals("20210-300-260T900:450:600.0",
74 new TruncatedCcsdsFormatter().toString(20210, 300, 260, 900, 450, 600.0));
75 Assertions.assertEquals("-2021--3--26T-9:-45:-01.0",
76 new TruncatedCcsdsFormatter().toString(-2021, -3, -26, -9, -45, -1.0));
77 }
78
79 @BeforeEach
80 public void setUp() {
81 Utils.setDataRoot("regular-data");
82 }
83
84 }
85