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
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-23 02:14 -0700
1import unittest
3import astshim as ast
4from astshim.test import MappingTestCase
7class TestSpecFrame(MappingTestCase):
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")
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")
43 self.checkCopy(frame)
44 self.checkPersistence(frame)
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)
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")
59if __name__ == "__main__": 59 ↛ 60line 59 didn't jump to line 60 because the condition on line 59 was never true
60 unittest.main()