Coverage for tests/test_cameraSys.py: 16%
64 statements
« prev ^ index » next coverage.py v6.5.0, created at 2023-01-06 01:56 -0800
« prev ^ index » next coverage.py v6.5.0, created at 2023-01-06 01:56 -0800
1#
2# LSST Data Management System
3# Copyright 2014 LSST Corporation.
4#
5# This product includes software developed by the
6# LSST Project (http://www.lsst.org/).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the LSST License Statement and
19# the GNU General Public License along with this program. If not,
20# see <http://www.lsstcorp.org/LegalNotices/>.
21#
22"""
23Tests for lsst.afw.cameraGeom.CameraSys and CameraSysPrefix
24"""
25import unittest
27import lsst.utils.tests
28import lsst.afw.cameraGeom as cameraGeom
31class CameraSysTestCase(unittest.TestCase):
33 def testBasics(self):
34 """Test CameraSys and CameraSysPrefix
35 """
36 for sysName in ("fieldAngle", "pixels"):
37 for detectorName in ("", "det1", "det2"):
38 cameraSys = cameraGeom.CameraSys(sysName, detectorName)
39 self.assertEqual(cameraSys.getSysName(), sysName)
40 self.assertEqual(cameraSys.getDetectorName(), detectorName)
41 self.assertEqual(cameraSys.hasDetectorName(),
42 bool(detectorName))
44 noDetSys = cameraGeom.CameraSys(sysName)
45 self.assertEqual(noDetSys.getSysName(), sysName)
46 self.assertEqual(noDetSys.getDetectorName(), "")
47 self.assertFalse(noDetSys.hasDetectorName())
49 camSysPrefix = cameraGeom.CameraSysPrefix(sysName)
50 self.assertEqual(camSysPrefix.getSysName(), sysName)
52 cameraSys2 = cameraGeom.CameraSys(camSysPrefix, detectorName)
53 self.assertEqual(cameraSys2.getSysName(), sysName)
54 self.assertEqual(cameraSys2.getDetectorName(), detectorName)
55 self.assertEqual(cameraSys2, cameraSys)
57 if detectorName:
58 self.assertNotEqual(cameraSys, noDetSys)
59 else:
60 self.assertEqual(cameraSys, noDetSys)
62 # The following tests are checking the functionality of the
63 # == and != operators and should not be replaced with
64 # assertEqual or assertNotEqual
65 self.assertTrue(cameraSys != camSysPrefix)
66 self.assertTrue(noDetSys != camSysPrefix)
67 self.assertFalse(cameraSys == camSysPrefix)
68 self.assertFalse(noDetSys == camSysPrefix)
70 for sysName2 in ("fieldAngle", "pixels"):
71 for detectorName2 in ("", "det1", "det2"):
72 cameraSys2 = cameraGeom.CameraSys(sysName2, detectorName2)
73 if sysName == sysName2 and detectorName == detectorName2:
74 self.assertEqual(cameraSys, cameraSys2)
75 # test __eq__ and __ne__
76 self.assertTrue(cameraSys == cameraSys2)
77 self.assertFalse(cameraSys != cameraSys2)
78 else:
79 self.assertNotEqual(cameraSys, cameraSys2)
80 # test __eq__ and __ne__
81 self.assertTrue(cameraSys != cameraSys2)
82 self.assertFalse(cameraSys == cameraSys2)
84 camSysPrefix2 = cameraGeom.CameraSysPrefix(sysName2)
85 if sysName2 == sysName:
86 self.assertEqual(camSysPrefix2, camSysPrefix)
87 else:
88 self.assertNotEqual(camSysPrefix2, camSysPrefix)
90 def testRepr(self):
91 """Test __repr__
92 """
93 cs1 = cameraGeom.CameraSys("pixels", "det1")
94 self.assertEqual(repr(cs1), "CameraSys(pixels, det1)")
96 cs2 = cameraGeom.CameraSys("pixels")
97 self.assertEqual(repr(cs2), "CameraSys(pixels)")
99 dsp = cameraGeom.CameraSysPrefix("pixels")
100 self.assertEqual(repr(dsp), "CameraSysPrefix(pixels)")
102 def testHashing(self):
103 """Test that hashing gives equal CameraSys equal hashes"""
104 # Not sure CameraSys has diverse enough values for testing
105 # hash uniformity to be worthwhile
106 cs1 = cameraGeom.CameraSys("pixels", "det1")
107 cs1Copy = cameraGeom.CameraSys("pixels", "det1")
108 cs2 = cameraGeom.CameraSys("pixels", "det2")
109 cs2Copy = cameraGeom.CameraSys("pixels", "det2")
110 csSet = set((cs1, cs1Copy, cs2, cs2Copy))
111 self.assertEqual(len(csSet), 2)
114class MemoryTester(lsst.utils.tests.MemoryTestCase):
115 pass
118def setup_module(module):
119 lsst.utils.tests.init()
122if __name__ == "__main__": 122 ↛ 123line 122 didn't jump to line 123, because the condition on line 122 was never true
123 lsst.utils.tests.init()
124 unittest.main()