Coverage for tests/test_tranMap.py: 22%
41 statements
« prev ^ index » next coverage.py v7.5.3, created at 2024-06-13 02:50 -0700
« prev ^ index » next coverage.py v7.5.3, created at 2024-06-13 02:50 -0700
1import unittest
3import numpy as np
4from numpy.testing import assert_allclose
6import astshim as ast
7from astshim.test import MappingTestCase
10class TestTranMap(MappingTestCase):
12 def test_TranMapNotSymmetric(self):
13 zoomfac = 0.5
14 unitMap = ast.UnitMap(2)
15 zoomMap = ast.ZoomMap(2, zoomfac)
16 tranmap = ast.TranMap(unitMap, zoomMap)
17 # adding to a TranMap increases by 1
18 self.assertEqual(unitMap.getRefCount(), 2)
19 # adding to a TranMap increases by 1
20 self.assertEqual(zoomMap.getRefCount(), 2)
22 self.assertIsInstance(tranmap, ast.TranMap)
23 self.assertIsInstance(tranmap, ast.Mapping)
24 self.assertEqual(tranmap.nIn, 2)
25 self.assertEqual(tranmap.nOut, 2)
27 self.checkCopy(tranmap)
29 indata = np.array([
30 [1.0, 2.0, -6.0, 30.0, 1.0],
31 [3.0, 99.0, -5.0, 21.0, 0.0],
32 ], dtype=float)
33 outdata = tranmap.applyForward(indata)
34 assert_allclose(outdata, indata)
35 outdata_roundtrip = tranmap.applyInverse(outdata)
36 assert_allclose(indata, outdata_roundtrip * zoomfac)
38 with self.assertRaises(AssertionError):
39 self.checkRoundTrip(tranmap, indata)
40 self.checkMappingPersistence(tranmap, indata)
42 def test_TranMapSymmetric(self):
43 zoomfac = 0.53
44 tranmap = ast.TranMap(ast.ZoomMap(
45 2, zoomfac), ast.ZoomMap(2, zoomfac))
46 self.assertIsInstance(tranmap, ast.TranMap)
47 self.assertIsInstance(tranmap, ast.Mapping)
48 self.assertEqual(tranmap.nIn, 2)
49 self.assertEqual(tranmap.nOut, 2)
51 self.checkCopy(tranmap)
53 indata = np.array([
54 [1.0, 2.0, -6.0, 30.0, 1.0],
55 [3.0, 99.0, -5.0, 21.0, 0.0],
56 ], dtype=float)
57 outdata = tranmap.applyForward(indata)
58 assert_allclose(outdata, indata * zoomfac)
60 self.checkRoundTrip(tranmap, indata)
61 self.checkMappingPersistence(tranmap, indata)
64if __name__ == "__main__": 64 ↛ 65line 64 didn't jump to line 65, because the condition on line 64 was never true
65 unittest.main()