lsst.obs.base
20.0.0-27-g22bab1b+18279e6773
python
lsst
obs
base
tests.py
Go to the documentation of this file.
1
# This file is part of obs_base.
2
#
3
# Developed for the LSST Data Management System.
4
# This product includes software developed by the LSST Project
5
# (https://www.lsst.org).
6
# See the COPYRIGHT file at the top-level directory of this distribution
7
# for details of code ownership.
8
#
9
# This program is free software: you can redistribute it and/or modify
10
# it under the terms of the GNU General Public License as published by
11
# the Free Software Foundation, either version 3 of the License, or
12
# (at your option) any later version.
13
#
14
# This program is distributed in the hope that it will be useful,
15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
# GNU General Public License for more details.
18
#
19
# You should have received a copy of the GNU General Public License
20
# along with this program. If not, see <https://www.gnu.org/licenses/>.
21
22
"""
23
Test aggregator for obs_* packages.
24
25
The intention is for each obs package to have a single test class that inherits
26
from this collector class, thus "automatically" getting all new tests. If those
27
tests require setup that isn't defined in a given obs package, that obs package
28
will be broken until updated. This is intentional, as a way to prevent obs
29
packages from falling behind out of neglect.
30
"""
31
32
from
lsst.log
import
Log
33
34
from
.
import
butler_tests
35
from
.
import
mapper_tests
36
from
.
import
camera_tests
37
38
__all__ = [
"ObsTests"
]
39
40
41
class
ObsTests
(
butler_tests.ButlerGetTests
,
mapper_tests.MapperTests
,
42
camera_tests.CameraTests
):
43
"""Aggregator class for all of the obs_* test classes.
44
45
Inherit from this class, then lsst.utils.tests.TestCase, in that order.
46
47
Example subclass::
48
49
class TestObsExample(lsst.obs.base.tests.ObsTests, lsst.utils.tests.TestCase):
50
def setUp(self):
51
self.setUp_tests(...)
52
self.setUp_butler_get(...)
53
self.setUp_mapper(...)
54
self.setUp_camera(...)
55
"""
56
57
def
setUp_tests
(self, butler, mapper, dataIds):
58
"""Set up the necessary shared variables used by multiple tests.
59
60
Parameters
61
----------
62
butler: lsst.daf.persistence.Butler
63
A butler object, instantiated on the testdata repository for the
64
obs package being tested.
65
mapper: lsst.obs.CameraMapper
66
A CameraMapper object for your camera, instantiated on the testdata
67
repository the obs package being tested.
68
dataIds: dict
69
dictionary of (exposure name): (dataId of that exposure in the
70
testdata repository), with unittest.SkipTest as the value for any
71
exposures you do not have/do not want to test. It must contain a
72
valid 'raw' dataId, in addition to 'bias','flat','dark', which may
73
be set to SkipTest. For example::
74
75
self.dataIds = {'raw': {'visit': 1, 'filter': 'g'},
76
'bias': {'visit': 1},
77
'flat': {'visit': 1},
78
'dark': unittest.SkipTest
79
}
80
"""
81
self.
butler
= butler
82
self.
mapper
= mapper
83
self.
dataIds
= dataIds
84
self.
log
= Log.getLogger(
'ObsTests'
)
85
86
def
tearDown
(self):
87
del self.
butler
88
del self.
mapper
89
super(ObsTests, self).
tearDown
()
lsst.obs.base.tests.ObsTests.butler
butler
Definition:
tests.py:81
lsst.obs.base.tests.ObsTests
Definition:
tests.py:42
lsst.obs.base.camera_tests.CameraTests
Definition:
camera_tests.py:32
lsst.obs.base.tests.ObsTests.dataIds
dataIds
Definition:
tests.py:83
lsst.obs.base.butler_tests.ButlerGetTests
Definition:
butler_tests.py:30
lsst.obs.base.mapper_tests.MapperTests
Definition:
mapper_tests.py:35
lsst.obs.base.tests.ObsTests.log
log
Definition:
tests.py:84
lsst.obs.base.tests.ObsTests.mapper
mapper
Definition:
tests.py:82
lsst.obs.base.tests.ObsTests.setUp_tests
def setUp_tests(self, butler, mapper, dataIds)
Definition:
tests.py:57
lsst.obs.base.tests.ObsTests.tearDown
def tearDown(self)
Definition:
tests.py:86
Generated on Sat Aug 8 2020 01:32:01 for lsst.obs.base by
1.8.18