Coverage for tests/test_timeFrame.py: 91%

54 statements  

« prev     ^ index     » next       coverage.py v7.16.1, created at 2026-09-23 09:33 +0000

1import unittest 

2 

3import astshim as ast 

4from astshim.test import MappingTestCase 

5 

6 

7class TestTimeFrame(MappingTestCase): 

8 

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") 

26 

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") 

42 

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") 

47 

48 self.checkCopy(frame) 

49 self.checkPersistence(frame) 

50 

51 def testTimeFrameAttributes(self): 

52 frame = ast.TimeFrame( 

53 "AlignTimeScale=TT, LTOffset=1.1, TimeOrigin=2.2, TimeScale=TDB") 

54 

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") 

59 

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") 

68 

69 

70if __name__ == "__main__": 70 ↛ 71line 70 didn't jump to line 71 because the condition on line 70 was never true

71 unittest.main()