Coverage for tests/test_skyFrame.py: 16%
Shortcuts on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
Shortcuts on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1import math
2import unittest
4from numpy.testing import assert_allclose
6import astshim as ast
7from astshim.test import MappingTestCase
10class TestSkyFrame(MappingTestCase):
12 def test_FrameBasics(self):
13 frame = ast.SkyFrame()
14 self.assertEqual(frame.className, "SkyFrame")
15 self.assertEqual(frame.nIn, 2)
16 self.assertEqual(frame.nAxes, 2)
17 self.assertEqual(frame.maxAxes, 2)
18 self.assertEqual(frame.minAxes, 2)
20 # default values for Frame properties (methods below test
21 # setters and getters of SkyFrame properties)
22 self.assertEqual(frame.alignSystem, "ICRS")
23 self.assertEqual(frame.dut1, 0.0)
24 self.assertEqual(frame.epoch, 2000.0)
25 self.assertEqual(frame.obsAlt, 0.0)
26 self.assertEqual(frame.obsLat, "N0:00:00.00")
27 self.assertEqual(frame.obsLon, "E0:00:00.00")
28 self.assertTrue(frame.permute)
29 self.assertFalse(frame.preserveAxes)
30 self.assertEqual(frame.system, "ICRS")
31 self.assertEqual(frame.title, "ICRS coordinates")
33 self.assertGreater(abs(frame.getBottom(1)), 1e99)
34 self.assertGreater(abs(frame.getTop(1)), 1e99)
35 self.assertGreater(frame.getTop(1), frame.getBottom(1))
36 self.assertFalse(frame.getDirection(1))
37 self.assertEqual(frame.getInternalUnit(1), "rad")
38 self.assertEqual(frame.getNormUnit(1), "rad")
39 self.assertEqual(frame.getSymbol(1), "RA")
40 self.assertEqual(frame.getUnit(1), "hh:mm:ss.s")
42 self.assertAlmostEqual(frame.getBottom(2), -math.pi / 2)
43 self.assertAlmostEqual(frame.getTop(2), math.pi / 2)
44 self.assertTrue(frame.getDirection(2))
45 self.assertEqual(frame.getInternalUnit(2), "rad")
46 self.assertEqual(frame.getNormUnit(2), "rad")
47 self.assertEqual(frame.getSymbol(2), "Dec")
48 self.assertEqual(frame.getUnit(2), "ddd:mm:ss")
50 self.checkCopy(frame)
51 self.checkPersistence(frame)
53 def test_SkyFrameLonLat(self):
55 frame = ast.SkyFrame()
57 self.assertEqual(frame.lonAxis, 1)
58 self.assertEqual(frame.latAxis, 2)
59 self.assertTrue(frame.getIsLonAxis(1))
60 self.assertTrue(frame.getIsLatAxis(2))
61 self.assertFalse(frame.getIsLonAxis(2))
62 self.assertFalse(frame.getIsLatAxis(1))
64 # permute axes
65 frame.permAxes([2, 1])
66 self.assertEqual(frame.lonAxis, 2)
67 self.assertEqual(frame.latAxis, 1)
68 self.assertTrue(frame.getIsLonAxis(2))
69 self.assertTrue(frame.getIsLatAxis(1))
70 self.assertFalse(frame.getIsLonAxis(1))
71 self.assertFalse(frame.getIsLatAxis(2))
73 # permute again to restore original state
74 frame.permAxes([2, 1])
75 self.assertEqual(frame.lonAxis, 1)
76 self.assertEqual(frame.latAxis, 2)
77 self.assertTrue(frame.getIsLonAxis(1))
78 self.assertTrue(frame.getIsLatAxis(2))
79 self.assertFalse(frame.getIsLonAxis(2))
80 self.assertFalse(frame.getIsLatAxis(1))
82 def test_SkyFrameAlignOffset(self):
83 frame = ast.SkyFrame()
85 self.assertFalse(frame.alignOffset)
86 frame.alignOffset = True
87 self.assertTrue(frame.alignOffset)
89 def test_SkyFrameAsTime(self):
90 frame = ast.SkyFrame()
92 for axis, defAsTime in ((1, True), (2, False)):
93 self.assertEqual(frame.getAsTime(axis), defAsTime)
94 frame.setAsTime(axis, not defAsTime)
95 self.assertEqual(frame.getAsTime(axis), not defAsTime)
97 def test_SkyFrameEquinox(self):
98 frame = ast.SkyFrame()
100 self.assertAlmostEqual(frame.equinox, 2000)
101 newEquinox = 2345.6
102 frame.equinox = newEquinox
103 self.assertAlmostEqual(frame.equinox, newEquinox)
105 def test_SkyFrameNegLon(self):
106 frame = ast.SkyFrame()
108 self.assertFalse(frame.negLon)
109 frame.negLon = True
110 self.assertTrue(frame.negLon)
112 def test_SkyFrameProjection(self):
113 frame = ast.SkyFrame()
115 self.assertEqual(frame.projection, "")
116 newProjection = "Arbitrary description"
117 frame.projection = newProjection
118 self.assertEqual(frame.projection, newProjection)
120 def test_SkyFrameSkyRef(self):
121 frame = ast.SkyFrame()
123 assert_allclose(frame.getSkyRef(), [0, 0])
124 newSkyRef = [-4.5, 1.23]
125 frame.setSkyRef(newSkyRef)
126 assert_allclose(frame.getSkyRef(), newSkyRef)
128 def test_SkyFrameSkyRefIs(self):
129 frame = ast.SkyFrame()
131 self.assertEqual(frame.skyRefIs, "Ignored")
132 for newSkyRefIs in ("Origin", "Pole", "Ignored"):
133 frame.skyRefIs = newSkyRefIs
134 self.assertEqual(frame.skyRefIs, newSkyRefIs)
136 def test_SkyFrameSkyRefP(self):
137 frame = ast.SkyFrame()
139 defSkyRefP = [0.0, math.pi/2]
140 assert_allclose(frame.getSkyRefP(), defSkyRefP)
141 newSkyRefP = [0.1234, 0.5643]
142 frame.setSkyRefP(newSkyRefP)
143 assert_allclose(frame.getSkyRefP(), newSkyRefP)
145 def test_SkyFrameSkyTol(self):
146 frame = ast.SkyFrame()
148 # the default is arbitrary so do not to assume a specific value
149 defSkyTol = frame.skyTol
150 newSkyTol = defSkyTol*1.2345
151 frame.skyTol = newSkyTol
152 self.assertAlmostEqual(frame.skyTol, newSkyTol)
154 def test_SkyFrameSkyOffsetMap(self):
155 frame = ast.SkyFrame()
157 mapping = frame.skyOffsetMap()
158 self.assertEqual(mapping.className, "UnitMap")
161if __name__ == "__main__": 161 ↛ 162line 161 didn't jump to line 162, because the condition on line 161 was never true
162 unittest.main()