Author: rhs Date: Thu Sep 17 14:46:27 2009 New Revision: 816221 URL: http://svn.apache.org/viewvc?rev=816221&view=rev Log: added some empty, min, and max to RangedSet
Modified: qpid/trunk/qpid/python/qpid/datatypes.py qpid/trunk/qpid/python/tests/datatypes.py Modified: qpid/trunk/qpid/python/qpid/datatypes.py URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/datatypes.py?rev=816221&r1=816220&r2=816221&view=diff ============================================================================== --- qpid/trunk/qpid/python/qpid/datatypes.py (original) +++ qpid/trunk/qpid/python/qpid/datatypes.py Thu Sep 17 14:46:27 2009 @@ -234,6 +234,24 @@ def add(self, lower, upper = None): self.add_range(Range(lower, upper)) + def empty(self): + for r in self.ranges: + if r.lower <= r.upper: + return False + return True + + def max(self): + if self.ranges: + return self.ranges[-1].upper + else: + return None + + def min(self): + if self.ranges: + return self.ranges[0].lower + else: + return None + def __iter__(self): return iter(self.ranges) Modified: qpid/trunk/qpid/python/tests/datatypes.py URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/tests/datatypes.py?rev=816221&r1=816220&r2=816221&view=diff ============================================================================== --- qpid/trunk/qpid/python/tests/datatypes.py (original) +++ qpid/trunk/qpid/python/tests/datatypes.py Thu Sep 17 14:46:27 2009 @@ -148,6 +148,34 @@ assert range.lower == 0 assert range.upper == 8 + def testEmpty(self): + s = RangedSet() + assert s.empty() + s.add(0, -1) + assert s.empty() + s.add(0, 0) + assert not s.empty() + + def testMinMax(self): + s = RangedSet() + assert s.max() is None + assert s.min() is None + s.add(0, 10) + assert s.max() == 10 + assert s.min() == 0 + s.add(0, 5) + assert s.max() == 10 + assert s.min() == 0 + s.add(0, 11) + assert s.max() == 11 + assert s.min() == 0 + s.add(15, 20) + assert s.max() == 20 + assert s.min() == 0 + s.add(-10, -5) + assert s.max() == 20 + assert s.min() == -10 + class RangeTest(TestCase): def testIntersect1(self): --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org