From 25ef540aa35be0c66b2170d471395e09f42fc059 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Sun, 23 Sep 2012 22:43:23 +0100 Subject: [PATCH] Range objects are nonzero when not empty --- lib/_range.py | 3 +++ tests/test_types_extras.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/lib/_range.py b/lib/_range.py index e0535506..ad253e2f 100644 --- a/lib/_range.py +++ b/lib/_range.py @@ -133,6 +133,9 @@ class Range(object): return True + def __nonzero__(self): + return self._bounds is not None + def __eq__(self, other): return (self._lower == other._lower and self._upper == other._upper diff --git a/tests/test_types_extras.py b/tests/test_types_extras.py index 611cca30..bc1f0366 100755 --- a/tests/test_types_extras.py +++ b/tests/test_types_extras.py @@ -888,6 +888,12 @@ class RangeTestCase(unittest.TestCase): self.assert_(20 not in r) self.assert_(21 not in r) + def test_nonzero(self): + from psycopg2.extras import Range + self.assert_(Range()) + self.assert_(Range(10, 20)) + self.assert_(not Range(empty=True)) + def test_eq_hash(self): from psycopg2.extras import Range def assert_equal(r1, r2):