LSSTApplications
20.0.0
LSSTDataManagementBasePackage
stack
1a1d771
Linux64
obs_base
20.0.0
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
"""
44
Aggregator class for all of the obs_* test classes.
45
46
Inherit from this class, then lsst.utils.tests.TestCase, in that order.
47
48
Example subclass::
49
50
class TestObsExample(lsst.obs.base.tests.ObsTests, lsst.utils.tests.TestCase):
51
def setUp(self):
52
self.setUp_tests(...)
53
self.setUp_butler_get(...)
54
self.setUp_mapper(...)
55
self.setUp_camera(...)
56
"""
57
58
def
setUp_tests
(self, butler, mapper, dataIds):
59
"""
60
Set up the necessary shared variables used by multiple tests.
61
62
Parameters
63
----------
64
butler: lsst.daf.persistence.Butler
65
A butler object, instantiated on the testdata repository for the
66
obs package being tested.
67
mapper: lsst.obs.CameraMapper
68
A CameraMapper object for your camera, instantiated on the testdata
69
repository the obs package being tested.
70
dataIds: dict
71
dictionary of (exposure name): (dataId of that exposure in the
72
testdata repository), with unittest.SkipTest as the value for any
73
exposures you do not have/do not want to test. It must contain a
74
valid 'raw' dataId, in addition to 'bias','flat','dark', which may
75
be set to SkipTest. For example::
76
self.dataIds = {'raw': {'visit': 1, 'filter': 'g'},
77
'bias': {'visit': 1},
78
'flat': {'visit': 1},
79
'dark': unittest.SkipTest
80
}
81
"""
82
self.
butler
= butler
83
self.
mapper
= mapper
84
self.
dataIds
= dataIds
85
self.
log
= Log.getLogger(
'ObsTests'
)
86
87
def
tearDown
(self):
88
del self.
butler
89
del self.
mapper
90
super(ObsTests, self).
tearDown
()
lsst.obs.base.tests.ObsTests.butler
butler
Definition:
tests.py:82
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:84
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:85
lsst::log
Definition:
Log.h:706
lsst.obs.base.tests.ObsTests.mapper
mapper
Definition:
tests.py:83
lsst.obs.base.tests.ObsTests.setUp_tests
def setUp_tests(self, butler, mapper, dataIds)
Definition:
tests.py:58
lsst.obs.base.tests.ObsTests.tearDown
def tearDown(self)
Definition:
tests.py:87
Generated on Wed Jun 24 2020 18:10:09 for LSSTApplications by
1.8.18