Coverage for tests/test_geomTestUtils.py: 20%
47 statements
« prev ^ index » next coverage.py v6.5.0, created at 2023-01-25 02:50 -0800
« prev ^ index » next coverage.py v6.5.0, created at 2023-01-25 02:50 -0800
1import unittest
3import lsst.utils.tests
4import lsst.geom
5from lsst.afw.geom.testUtils import BoxGrid
8class BoxGridTestCase(lsst.utils.tests.TestCase):
9 """!Unit tests for BoxGrid"""
11 def test3By4(self):
12 """!Test a 3x4 box divided into a 3x2 grid, such that each sub-box is 1x2
13 """
14 for boxClass in (lsst.geom.Box2I, lsst.geom.Box2D):
15 pointClass = type(boxClass().getMin())
16 extentClass = type(boxClass().getDimensions())
18 minPt = pointClass(-1, 3)
19 extent = extentClass(3, 4)
20 numColRow = (3, 2)
21 outerBox = boxClass(minPt, extent)
22 boxGrid = BoxGrid(box=outerBox, numColRow=numColRow)
23 for box in boxGrid:
24 self.assertEqual(box.getDimensions(), extentClass(1, 2))
25 for row in range(numColRow[1]):
26 for col in range(numColRow[0]):
27 box = boxGrid[col, row]
28 predMin = outerBox.getMin() + extentClass(col*1, row*2)
29 self.assertEqual(box.getMin(), predMin)
31 def testIntUneven(self):
32 """!Test dividing an integer box into an uneven grid
34 Divide a 5x4 box into 2x3 regions
35 """
36 minPt = lsst.geom.Point2I(0, 0)
37 extent = lsst.geom.Extent2I(5, 7)
38 numColRow = (2, 3)
39 outerBox = lsst.geom.Box2I(minPt, extent)
40 boxGrid = BoxGrid(box=outerBox, numColRow=numColRow)
41 desColStarts = (0, 2)
42 desWidths = (2, 3)
43 desRowStarts = (0, 2, 4)
44 desHeights = (2, 2, 3)
45 for row in range(numColRow[1]):
46 desRowStart = desRowStarts[row]
47 desHeight = desHeights[row]
48 for col in range(numColRow[0]):
49 desColStart = desColStarts[col]
50 desWidth = desWidths[col]
51 box = boxGrid[col, row]
52 self.assertEqual(tuple(box.getMin()),
53 (desColStart, desRowStart))
54 self.assertEqual(tuple(box.getDimensions()),
55 (desWidth, desHeight))
58class MemoryTester(lsst.utils.tests.MemoryTestCase):
59 pass
62def setup_module(module):
63 lsst.utils.tests.init()
66if __name__ == "__main__": 66 ↛ 67line 66 didn't jump to line 67, because the condition on line 66 was never true
67 lsst.utils.tests.init()
68 unittest.main()