Coverage for tests/test_obs_gen_opsim_v4.py : 32%

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 os
3import sqlite3
4import lsst.utils.tests
5from lsst.utils import getPackageDir
6from lsst.sims.catUtils.utils import ObservationMetaDataGenerator
9def setup_module(module):
10 lsst.utils.tests.init()
13class ObsGenV4TestCase(unittest.TestCase):
15 def test_spatial_query(self):
16 """
17 Test that spatial queries work
18 """
19 db_dir = os.path.join(getPackageDir('sims_data'), 'OpSimData')
20 assert os.path.isdir(db_dir)
21 db_file = os.path.join(db_dir, 'astro-lsst-01_2014.db')
22 obs_gen = ObservationMetaDataGenerator(db_file)
23 obs_list = obs_gen.getObservationMetaData(fieldRA=(20.0, 40.0),
24 fieldDec=(-30.0, -10.0))
25 self.assertGreater(len(obs_list), 10)
26 with sqlite3.connect(db_file) as conn:
27 cursor = conn.cursor()
28 query = '''SELECT observationId, fieldRA, fieldDec,
29 observationStartMJD, filter
30 FROM SummaryAllProps WHERE
31 fieldRA BETWEEN 20.0 AND 40.0 AND
32 fieldDec BETWEEN -30.0 AND -10.0
33 ORDER BY observationId'''
34 control = cursor.execute(query).fetchall()
35 self.assertEqual(len(control), len(obs_list))
36 for ii in range(len(obs_list)):
37 self.assertEqual(obs_list[ii].OpsimMetaData['observationId'],
38 int(control[ii][0]))
40 self.assertAlmostEqual(obs_list[ii].pointingRA,
41 float(control[ii][1]), 10)
42 self.assertAlmostEqual(obs_list[ii].pointingDec,
43 float(control[ii][2]), 10)
44 self.assertAlmostEqual(obs_list[ii].mjd.TAI,
45 float(control[ii][3]), 7)
46 self.assertEqual(obs_list[ii].bandpass,
47 str(control[ii][4]))
49 self.assertGreaterEqual(obs_list[ii].pointingRA, 20.0)
50 self.assertLessEqual(obs_list[ii].pointingRA, 40.0)
51 self.assertGreaterEqual(obs_list[ii].pointingDec, -30.0)
52 self.assertLessEqual(obs_list[ii].pointingDec, -10.0)
55class MemoryTestClass(lsst.utils.tests.MemoryTestCase):
56 pass
59if __name__ == "__main__": 59 ↛ 60line 59 didn't jump to line 60, because the condition on line 59 was never true
60 lsst.utils.tests.init()
61 unittest.main()