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

Reply via email to