Coverage for tests/test_timeFrame.py: 91%
54 statements
« prev ^ index » next coverage.py v7.16.1, created at 2026-09-23 09:34 +0000
« prev ^ index » next coverage.py v7.16.1, created at 2026-09-23 09:34 +0000
1import unittest
3import astshim as ast
4from astshim.test import MappingTestCase
7class TestTimeFrame(MappingTestCase):
9 def test_TimeFrameBasics(self):
10 frame = ast.TimeFrame()
11 self.assertEqual(frame.className, "TimeFrame")
12 self.assertEqual(frame.nIn, 1)
13 self.assertEqual(frame.nAxes, 1)
14 self.assertEqual(frame.maxAxes, 1)
15 self.assertEqual(frame.minAxes, 1)
16 self.assertEqual(frame.alignSystem, "MJD")
17 self.assertEqual(frame.dut1, 0.0)
18 self.assertEqual(frame.epoch, 2000.0)
19 self.assertEqual(frame.obsAlt, 0.0)
20 self.assertEqual(frame.obsLat, "N0:00:00.00")
21 self.assertEqual(frame.obsLon, "E0:00:00.00")
22 self.assertTrue(frame.permute)
23 self.assertFalse(frame.preserveAxes)
24 self.assertEqual(frame.system, "MJD")
25 self.assertEqual(frame.title, "Modified Julian Date")
27 self.assertGreater(abs(frame.getBottom(1)), 1e99)
28 self.assertGreater(abs(frame.getTop(1)), 1e99)
29 self.assertGreater(frame.getTop(1), frame.getBottom(1))
30 self.assertTrue(frame.getDirection(1))
31 self.assertEqual(frame.getInternalUnit(1), "d")
32 # TimeFrame reports a Unit of its own while leaving the Axis Unit
33 # unset, so before AST 9.5.0 NormUnit tracked the Axis, whose Unit is
34 # blank. See the comment in test_frame.py about AST versions.
35 if ast.astVersion() >= 9005000: 35 ↛ 36line 35 didn't jump to line 36 because the condition on line 35 was never true
36 self.assertEqual(frame.getNormUnit(1), frame.getUnit(1))
37 self.assertEqual(frame.getNormUnit(1), "d")
38 else:
39 self.assertEqual(frame.getNormUnit(1), "")
40 self.assertEqual(frame.getSymbol(1), "MJD")
41 self.assertEqual(frame.getUnit(1), "d")
43 self.assertEqual(frame.alignTimeScale, "TAI")
44 self.assertEqual(frame.ltOffset, 0.0)
45 self.assertEqual(frame.timeOrigin, 0.0)
46 self.assertEqual(frame.timeScale, "TAI")
48 self.checkCopy(frame)
49 self.checkPersistence(frame)
51 def testTimeFrameAttributes(self):
52 frame = ast.TimeFrame(
53 "AlignTimeScale=TT, LTOffset=1.1, TimeOrigin=2.2, TimeScale=TDB")
55 self.assertEqual(frame.alignTimeScale, "TT")
56 self.assertAlmostEqual(frame.ltOffset, 1.1, places=3)
57 self.assertAlmostEqual(frame.timeOrigin, 2.2, places=3)
58 self.assertEqual(frame.timeScale, "TDB")
60 frame.alignTimeScale = "LMST"
61 frame.ltOffset = 55.5
62 frame.timeOrigin = 66.6
63 frame.timeScale = "UT1"
64 self.assertEqual(frame.alignTimeScale, "LMST")
65 self.assertAlmostEqual(frame.ltOffset, 55.5, places=3)
66 self.assertAlmostEqual(frame.timeOrigin, 66.6, places=3)
67 self.assertEqual(frame.timeScale, "UT1")
70if __name__ == "__main__": 70 ↛ 71line 70 didn't jump to line 71 because the condition on line 70 was never true
71 unittest.main()