Coverage for tests/testMetricBundle.py : 44%

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
1import unittest
2import matplotlib
3matplotlib.use("Agg")
5import lsst.sims.maf.metrics as metrics
6import lsst.sims.maf.slicers as slicers
7import lsst.sims.maf.stackers as stackers
8import lsst.sims.maf.maps as maps
9import lsst.sims.maf.metricBundles as metricBundles
10import lsst.sims.maf.db as db
11import glob
12import os
13import tempfile
14import shutil
15import lsst.utils.tests
16from lsst.utils import getPackageDir
17from lsst.sims.utils.CodeUtilities import sims_clean_up
20class TestMetricBundle(unittest.TestCase):
22 @classmethod
23 def tearDownClass(cls):
24 sims_clean_up()
26 def setUp(self):
27 self.outDir = tempfile.mkdtemp(prefix='TMB')
29 def testOut(self):
30 """
31 Check that the metric bundle can generate the expected output
32 """
33 nside = 8
34 slicer = slicers.HealpixSlicer(nside=nside)
35 metric = metrics.MeanMetric(col='airmass')
36 sql = 'filter="r"'
37 stacker1 = stackers.RandomDitherFieldPerVisitStacker()
38 stacker2 = stackers.GalacticStacker()
39 map1 = maps.GalCoordsMap()
40 map2 = maps.StellarDensityMap()
42 metricB = metricBundles.MetricBundle(metric, slicer, sql,
43 stackerList=[stacker1, stacker2],
44 mapsList=[map1, map2])
45 database = os.path.join(getPackageDir('sims_data'), 'OpSimData', 'astro-lsst-01_2014.db')
47 opsdb = db.OpsimDatabaseV4(database=database)
48 resultsDb = db.ResultsDb(outDir=self.outDir)
50 bgroup = metricBundles.MetricBundleGroup({0: metricB}, opsdb, outDir=self.outDir, resultsDb=resultsDb)
51 bgroup.runAll()
52 bgroup.plotAll()
53 bgroup.writeAll()
55 opsdb.close()
57 outThumbs = glob.glob(os.path.join(self.outDir, 'thumb*'))
58 outNpz = glob.glob(os.path.join(self.outDir, '*.npz'))
59 outPdf = glob.glob(os.path.join(self.outDir, '*.pdf'))
61 # By default, make 3 plots for healpix
62 assert(len(outThumbs) == 3)
63 assert(len(outPdf) == 3)
64 assert(len(outNpz) == 1)
66 def tearDown(self):
67 if os.path.isdir(self.outDir):
68 shutil.rmtree(self.outDir)
71class TestMemory(lsst.utils.tests.MemoryTestCase):
72 pass
75def setup_module(module):
76 lsst.utils.tests.init()
79if __name__ == "__main__": 79 ↛ 80line 79 didn't jump to line 80, because the condition on line 79 was never true
80 lsst.utils.tests.init()
81 unittest.main()