Coverage for tests/test_specFrame.py: 90%

46 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-23 02:14 -0700

1import unittest 

2 

3import astshim as ast 

4from astshim.test import MappingTestCase 

5 

6 

7class TestSpecFrame(MappingTestCase): 

8 

9 def test_SpecFrameBasics(self): 

10 frame = ast.SpecFrame() 

11 self.assertEqual(frame.className, "SpecFrame") 

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

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

25 self.assertEqual(frame.title, "Wavelength") 

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

32 # SpecFrame 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), "Angstrom") 

38 else: 

39 self.assertEqual(frame.getNormUnit(1), "") 

40 self.assertEqual(frame.getSymbol(1), "WAVE") 

41 self.assertEqual(frame.getUnit(1), "Angstrom") 

42 

43 self.checkCopy(frame) 

44 self.checkPersistence(frame) 

45 

46 def test_SpecFrameSetGetRefPos(self): 

47 frame = ast.SpecFrame() 

48 self.assertEqual(frame.className, "SpecFrame") 

49 sky = ast.SkyFrame() 

50 frame.setRefPos(sky, 0, 1) 

51 

52 refpos = frame.getRefPos(sky) 

53 self.assertAlmostEqual(refpos[0], 0, places=5) 

54 self.assertAlmostEqual(refpos[1], 1) 

55 self.assertEqual(frame.getInternalUnit(1), frame.getUnit(1)) 

56 self.assertEqual(frame.getInternalUnit(1), "Angstrom") 

57 

58 

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

60 unittest.main()