Coverage for tests/test_butlerAlias.py : 29%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# # LSST Data Management System # Copyright 2015 LSST Corporation. # # This product includes software developed by the # LSST Project (http://www.lsst.org/). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the LSST License Statement and # the GNU General Public License along with this program. If not, # see <http://www.lsstcorp.org/LegalNotices/>. #
# Define the root of the tests relative to this file
python = 'astropy.io.fits.HDUList' persistable = None storage = 'FitsStorage' path = 'butlerAlias/data/input/raw/raw_v' + \ str(dataId['visit']) + '_f' + dataId['filter'] + '.fits.gz' return dafPersist.ButlerLocation(python, persistable, storage, path, dataId, self, dafPersist.Storage.makeFromURI(ROOT))
return astropy.io.fits.open(location.getLocationsWithRoot()[0])
values = [{'visit': 1, 'filter': 'g'}, {'visit': 2, 'filter': 'g'}, {'visit': 3, 'filter': 'r'}] matches = [] for value in values: match = True for item in dataId: if value[item] != dataId[item]: match = False break if match: matches.append(value) results = set() for match in matches: tempTup = [] for word in format: tempTup.append(match[word]) results.add(tuple(tempTup)) return results
return 'visit'
return {'filter': str, 'visit': int}
"""A test case for the basic butler api"""
self.butler = dafPersist.Butler(os.path.join(ROOT, 'butlerAlias/data/input'), MinMapper) self.butler.defineAlias(self.datasetType, 'raw')
del self.butler
raw_image = self.butler.get(self.datasetType, {'visit': '2', 'filter': 'g'}) # in this case the width is known to be 1026: self.assertEqual(raw_image[1].header["NAXIS1"], 1026) # raw_image is an lsst.afw.ExposureU
subset = self.butler.subset(self.datasetType) self.assertEqual(len(subset), 3)
keys = self.butler.getKeys(self.datasetType) self.assertIn('filter', keys) self.assertIn('visit', keys) self.assertEqual(keys['filter'], str) self.assertEqual(keys['visit'], int)
keys = self.butler.getKeys(self.datasetType) expectedKeyValues = {'filter': ['g', 'r'], 'visit': [1, 2, 3]} for key in keys: val = self.butler.queryMetadata(self.datasetType, key) self.assertEqual(val.sort(), expectedKeyValues[key].sort())
# test the valeus that are expected to be true: self.assertTrue(self.butler.datasetExists(self.datasetType, {'filter': 'g', 'visit': 1})) self.assertTrue(self.butler.datasetExists(self.datasetType, {'filter': 'g', 'visit': 2})) self.assertTrue(self.butler.datasetExists(self.datasetType, {'filter': 'r', 'visit': 3}))
# test a few values that are expected to be false: self.assertFalse(self.butler.datasetExists(self.datasetType, {'filter': 'f', 'visit': 1})) self.assertFalse(self.butler.datasetExists(self.datasetType, {'filter': 'r', 'visit': 1})) self.assertFalse(self.butler.datasetExists(self.datasetType, {'filter': 'g', 'visit': 3}))
print(self.butler.dataRef(self.datasetType, dataId={'filter': 'g', 'visit': 1}))
with self.assertRaises(RuntimeError): self.butler.getKeys('@bar')
self.butler = dafPersist.Butler(inputs=[], outputs=[])
self.butler.defineAlias('foo', 'raw') with self.assertRaises(RuntimeError): self.butler.defineAlias('foobar', 'calexp') self.butler.defineAlias('barbaz', 'qux') with self.assertRaises(RuntimeError): self.butler.defineAlias('bar', 'quux')
with self.assertRaises(RuntimeError): self.butler.defineAlias('abc@xyz', 'calexp')
lsst.utils.tests.init()
lsst.utils.tests.init() unittest.main() |