From 3c2491965d47733cdffbc57582107a5afc069617 Mon Sep 17 00:00:00 2001 From: Konsta Vesterinen Date: Wed, 13 Nov 2013 14:54:32 +0200 Subject: [PATCH] Added integer comparison to number range --- sqlalchemy_utils/primitives/number_range.py | 5 +++++ tests/primitives/test_number_range.py | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/sqlalchemy_utils/primitives/number_range.py b/sqlalchemy_utils/primitives/number_range.py index d9475f8..971fd73 100644 --- a/sqlalchemy_utils/primitives/number_range.py +++ b/sqlalchemy_utils/primitives/number_range.py @@ -123,6 +123,8 @@ class NumberRange(object): ) def __eq__(self, other): + if isinstance(other, six.integer_types): + return self.lower == other == self.upper try: return ( self.lower == other.lower and @@ -135,6 +137,9 @@ class NumberRange(object): return not (self == other) def __gt__(self, other): + if isinstance(other, six.integer_types): + return self.lower > other and self.upper > other + try: return self.lower > other.lower and self.upper > other.upper except AttributeError: diff --git a/tests/primitives/test_number_range.py b/tests/primitives/test_number_range.py index fd3c73d..a39c773 100644 --- a/tests/primitives/test_number_range.py +++ b/tests/primitives/test_number_range.py @@ -64,6 +64,12 @@ class TestComparisonOperators(object): assert NumberRange(0, 2) <= NumberRange(1, 3) assert NumberRange(1, 3) >= NumberRange(1, 3) + def test_integer_comparison(self): + assert NumberRange(2, 2) <= 3 + assert NumberRange(1, 3) >= 0 + assert NumberRange(2, 2) == 2 + assert NumberRange(2, 2) != 3 + def test_str_representation(): assert str(NumberRange(1, 3)) == '1 - 3'