Added integer comparison to number range
This commit is contained in:
@@ -123,6 +123,8 @@ class NumberRange(object):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
|
if isinstance(other, six.integer_types):
|
||||||
|
return self.lower == other == self.upper
|
||||||
try:
|
try:
|
||||||
return (
|
return (
|
||||||
self.lower == other.lower and
|
self.lower == other.lower and
|
||||||
@@ -135,6 +137,9 @@ class NumberRange(object):
|
|||||||
return not (self == other)
|
return not (self == other)
|
||||||
|
|
||||||
def __gt__(self, other):
|
def __gt__(self, other):
|
||||||
|
if isinstance(other, six.integer_types):
|
||||||
|
return self.lower > other and self.upper > other
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return self.lower > other.lower and self.upper > other.upper
|
return self.lower > other.lower and self.upper > other.upper
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
|
@@ -64,6 +64,12 @@ class TestComparisonOperators(object):
|
|||||||
assert NumberRange(0, 2) <= NumberRange(1, 3)
|
assert NumberRange(0, 2) <= NumberRange(1, 3)
|
||||||
assert NumberRange(1, 3) >= 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():
|
def test_str_representation():
|
||||||
assert str(NumberRange(1, 3)) == '1 - 3'
|
assert str(NumberRange(1, 3)) == '1 - 3'
|
||||||
|
Reference in New Issue
Block a user