Coverage for tests/test_Policy_1.py : 22%

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
#!/usr/bin/env python # # LSST Data Management System # Copyright 2008, 2009, 2010 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/>. #
p = Policy() self.assertFalse(p.exists("foo"), "empty existence test failed") self.assertEqual(p.valueCount("foo.bar"), 0, "empty valueCount test failed")
self.assertRaises(lsst.pex.exceptions.Exception, p.getTypeInfo, "foo")
p.set("doall", "true")
# non-existence tests on a non-empty policy self.assertFalse(p.exists("foo"), "non-empty non-existence test failed") self.assertEqual(p.valueCount("foo.bar"), 0, "empty valueCount test failed") self.assertFalse(p.isInt("foo"), "non-empty non-existence type test failed") self.assertRaises(lsst.pex.exceptions.Exception, p.getTypeInfo, "foo")
# existence tests self.assertTrue(p.exists("doall"), "non-empty existence test failed") self.assertEqual(p.valueCount("doall"), 1, "single valueCount test failed")
self.assertRaises(lsst.pex.exceptions.Exception, p.getInt, "doall") self.assertRaises(lsst.pex.exceptions.Exception, p.getDoubleArray, "doall")
self.assertEqual(p.get("doall"), "true", "top-level getString failed") p.set("doall", "duh") self.assertEqual(p.get("doall"), "duh", "top-level getString failed")
# test array access ary = p.getArray("doall") self.assertEqual(len(ary), 1, "scalar property has more than one value")
self.assertEqual(ary[0], "duh", "scalar access via array failed")
p.add("doall", "never") self.assertEqual(p.valueCount("doall"), 2, "2-elem. valueCount test failed") self.assertEqual(p.get("doall"), "never", "top-level add failed") ary = p.getArray("doall") self.assertEqual(len(ary), 2, "scalar property has wrong number of values") self.assertEqual(ary[0], "duh", "scalar access via (2-el) array failed") self.assertEqual(ary[-1], "never", "scalar access via (2-el) array failed")
# test hierarchical access
# list names
# test types p.set("pint", 5) self.assertEqual(p.getInt("pint"), 5, "support for type int failed") self.assertIsInstance(p.get("pint"), int, "auto-typing for int failed") p.set("pdbl", 5.1) self.assertAlmostEqual(p.getDouble("pdbl"), 5.1, 7, "support for type double failed") self.assertEqual(type(p.get("pdbl")), type(5.1), "auto-typing for double failed") p.set("pbool", True) self.assertTrue(p.getBool("pbool"), "support for type bool failed") self.assertEqual(type(p.get("pbool")), type(True), "auto-typing for bool failed") p.add("pbool", False)
# test shallow & deep copies
# test raise NameNotFound if not present self.assertRaises(NameNotFound, p.get, "nonexistent") self.assertRaises(NameNotFound, p.getArray, "nonexistent") self.assertRaises(NameNotFound, p.getDouble, "nonexistent")
p = Policy.createPolicy(os.path.join(proddir, "examples", "EventTransmitter_policy.paf")) self.assertEqual(p.get("transmitter.serializationFormat"), "deluxe") p = None
p = Policy() # noqa F841: unused variable
p = Policy.createPolicy(os.path.join(proddir, "examples", "EventTransmitter_policy.paf")) pp = Policy(p, True) self.assertEqual(p.get("transmitter.serializationFormat"), "deluxe") self.assertEqual(pp.getString("transmitter.serializationFormat"), "deluxe") p = None self.assertEqual(pp.getString("transmitter.serializationFormat"), "deluxe")
p = Policy() try: p.set("foo", None) self.assertTrue(False, "Setting value to None succeeded.") except RuntimeError: self.assertFalse(p.exists("foo"))
lsst.utils.tests.init()
lsst.utils.tests.init() unittest.main() |