Coverage for python/lsst/pex/config/rangeField.py : 48%

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
# # 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/>. #
""" Defines a Config Field which allows only a range of values. The range is defined by providing min and/or max values. If min or max is None, the range will be open in that direction If inclusive[Min|Max] is True the range will include the [min|max] value
"""
min=None, max=None, inclusiveMin=True, inclusiveMax=False): raise ValueError("Unsupported RangeField dtype %s" % (_typeStr(dtype))) raise ValueError("min and max cannot both be None")
if min > max: raise ValueError("min = %s > %s = max" % (min, max)) elif min == max and not (inclusiveMin and inclusiveMax): raise ValueError("min = max = %s and min and max not both inclusive" % (min,))
self.maxCheck = lambda x, y: True if y is None else x <= y else: else: self.minCheck = lambda x, y: True if y is None else x > y (("[" if inclusiveMin else "("), ("-inf" if self.min is None else self.min), ("inf" if self.max is None else self.max), ("]" if inclusiveMax else ")"))
Field._validateValue(self, value) if not self.minCheck(value, self.min) or \ not self.maxCheck(value, self.max): msg = "%s is outside of valid range %s" % (value, self.rangeString) raise ValueError(msg) |