Coverage for tests/test_configOverrides.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
# This file is part of pipe_base. # # Developed for the LSST Data Management System. # This product includes software developed by the LSST Project # (http://www.lsst.org). # See the COPYRIGHT file at the top-level directory of this distribution # for details of code ownership. # # 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 GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
"""A test case for Task """
"""Convenience method for override of single field
Parameters ---------- field : `str` Field name. value : Field value to set, can be a string or anything else. result : optional Expected value of the field. """ config = ConfigTest() overrides = ConfigOverrides() overrides.addValueOverride(field, value) overrides.applyTo(config) self.assertEqual(getattr(config, field), result)
"""Test for applying value override to a string field """ field = "fStr"
# values of supported type self.checkSingleFieldOverride(field, "string", "string")
# invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, 1)
"""Test for applying value override to a boolean field """ field = "fBool"
# values of supported type self.checkSingleFieldOverride(field, True, True) self.checkSingleFieldOverride(field, False, False)
# supported string conversions self.checkSingleFieldOverride(field, "True", True) self.checkSingleFieldOverride(field, "False", False)
# parseable but invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, 1) with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, []) with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "1")
# non-parseable input with self.assertRaises(RuntimeError): self.checkSingleFieldOverride(field, "value")
"""Test for applying value override to a int field """ field = "fInt"
# values of supported type self.checkSingleFieldOverride(field, 0, 0) self.checkSingleFieldOverride(field, 100, 100)
# supported string conversions self.checkSingleFieldOverride(field, "0", 0) self.checkSingleFieldOverride(field, "100", 100) self.checkSingleFieldOverride(field, "-100", -100) self.checkSingleFieldOverride(field, "0x100", 0x100)
# parseable but invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, 1.0) with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "1.0") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "[]")
# non-parseable input with self.assertRaises(RuntimeError): self.checkSingleFieldOverride(field, "value")
"""Test for applying value override to a float field """ field = "fFloat"
# values of supported type self.checkSingleFieldOverride(field, 0., 0.) self.checkSingleFieldOverride(field, 100., 100.)
# supported string conversions self.checkSingleFieldOverride(field, "0.", 0.) self.checkSingleFieldOverride(field, "100.0", 100.) self.checkSingleFieldOverride(field, "-1.2e10", -1.2e10)
# parseable but invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, []) with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "(1, 1)")
# non-parseable input with self.assertRaises(RuntimeError): self.checkSingleFieldOverride(field, "value")
"""Test for applying value override to a list field """ field = "fListStr"
# values of supported type self.checkSingleFieldOverride(field, ["a", "b"], ["a", "b"]) self.checkSingleFieldOverride(field, ("a", "b"), ["a", "b"])
# supported string conversions self.checkSingleFieldOverride(field, '["a", "b"]', ["a", "b"]) self.checkSingleFieldOverride(field, '("a", "b")', ["a", "b"])
# parseable but invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "['a', []]")
# non-parseable input with self.assertRaises(RuntimeError): self.checkSingleFieldOverride(field, "value")
"""Test for applying value override to a list field """ field = "fListBool"
# values of supported type self.checkSingleFieldOverride(field, [True, False], [True, False]) self.checkSingleFieldOverride(field, (True, False), [True, False])
# supported string conversions self.checkSingleFieldOverride(field, "[True, False]", [True, False]) self.checkSingleFieldOverride(field, "(True, False)", [True, False])
# parseable but invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "['True', 'False']") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "[1, 2]") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, [0, 1]) with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "5")
"""Test for applying value override to a list field """ field = "fListInt"
# values of supported type self.checkSingleFieldOverride(field, [1, 2], [1, 2]) self.checkSingleFieldOverride(field, (1, 2), [1, 2])
# supported string conversions self.checkSingleFieldOverride(field, "[1, 2]", [1, 2]) self.checkSingleFieldOverride(field, "(1, 2)", [1, 2])
# parseable but invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "['1', '2']") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "[1.0, []]") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, [[], []]) with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "5")
"""Test for applying value override to a choice field """ field = "fChoiceStr"
# values of supported type self.checkSingleFieldOverride(field, "A", "A") self.checkSingleFieldOverride(field, "B", "B")
# non-allowed value with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "X")
"""Test for applying value override to a choice field """ field = "fChoiceInt"
# values of supported type self.checkSingleFieldOverride(field, 1, 1) self.checkSingleFieldOverride(field, 3, 3)
# supported string conversions self.checkSingleFieldOverride(field, "1", 1)
# parseable but invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "0") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "[1]") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, [0, 1])
# non-parseable input with self.assertRaises(RuntimeError): self.checkSingleFieldOverride(field, "value")
"""Test for applying value override to a dict field """ field = "fDictStrInt"
# values of supported type self.checkSingleFieldOverride(field, dict(a=1, b=2), dict(a=1, b=2))
# supported string conversions self.checkSingleFieldOverride(field, "{'a': 1, 'b': 2}", dict(a=1, b=2))
# parseable but invalid input with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "{1: 2}") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, "{'a': 'b'}") with self.assertRaises(pexConfig.FieldValidationError): self.checkSingleFieldOverride(field, {"a": "b"})
# non-parseable input with self.assertRaises(RuntimeError): self.checkSingleFieldOverride(field, "{1: value}")
lsst.utils.tests.init()
lsst.utils.tests.init() unittest.main() |