Coverage for tests/test_metrics.py : 24%

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
# See COPYRIGHT file at the top of the source tree.
"""Test Metrics and metrics.yaml functionality."""
yaml_path = os.path.join(os.path.dirname(__file__), 'data', 'metrics', 'testing.yaml') with open(yaml_path) as f: self.metric_doc = yaml.load(f)
"""Verify that all metrics from testing.yaml can be loaded.""" for metric_name in self.metric_doc: m = Metric.deserialize(metric_name, **self.metric_doc[metric_name]) self.assertIsInstance(m, Metric)
"""Verify reference property for different reference datasets.""" m1 = Metric('test', 'test', '', reference_url='example.com', reference_doc='Doc', reference_page=1) self.assertEqual(m1.reference, 'Doc, p. 1, example.com')
m2 = Metric('test', 'test', '', reference_url='example.com') self.assertEqual(m2.reference, 'example.com')
m3 = Metric('test', 'test', '', reference_url='example.com', reference_doc='Doc') self.assertEqual(m3.reference, 'Doc, example.com')
m4 = Metric('test', 'test', '', reference_doc='Doc', reference_page=1) self.assertEqual(m4.reference, 'Doc, p. 1')
m4 = Metric('test', 'test', '', reference_doc='Doc') self.assertEqual(m4.reference, 'Doc')
"""Simple test of the serialized JSON content of a metric.""" name = 'T1' description = 'Test' unit = u.mag reference_doc = 'TEST-1' reference_page = 1 reference_url = 'example.com' m = Metric(name, description, unit, tags=['tagA', 'tagB'], reference_doc=reference_doc, reference_url=reference_url, reference_page=reference_page)
j = m.json self.assertEqual(j['name'], name) self.assertEqual(j['description'], description) self.assertEqual(j['unit'], unit) self.assertEqual(j['reference']['doc'], reference_doc) self.assertEqual(j['reference']['page'], reference_page) self.assertEqual(j['reference']['url'], reference_url) self.assertIn('tagA', j['tags']) self.assertIn('tagB', j['tags']) self.assertNotIn('tagC', j['tags'])
# rebuild from json m2 = Metric.deserialize(**j) self.assertEqual(m, m2)
m1 = Metric('test', 'test docs', 'arcsec', reference_url='example.com', reference_doc='Doc', reference_page=1) self.assertEqual(str(m1), 'test (arcsec): test docs')
m2 = Metric('test2', 'some words', '') self.assertEqual( str(m2), 'test2 (dimensionless_unscaled): some words')
m = Metric('test', '', 'marcsec') self.assertTrue(m.check_unit(5. * u.arcsec)) self.assertTrue(m.check_unit(5. * u.marcsec)) self.assertFalse(m.check_unit(5. * u.mag))
unittest.main() |