Add more tests for NumberRange

This commit is contained in:
Konsta Vesterinen
2014-01-05 04:28:50 +02:00
parent ae06354709
commit 45e4d75ed0
2 changed files with 21 additions and 6 deletions

View File

@@ -1,4 +1,6 @@
from .number_range import NumberRange, NumberRangeException from .number_range import (
NumberRange, NumberRangeException, RangeBoundsException
)
from .weekday import WeekDay from .weekday import WeekDay
from .weekdays import WeekDays from .weekdays import WeekDays
@@ -6,6 +8,7 @@ from .weekdays import WeekDays
__all__ = ( __all__ = (
NumberRange, NumberRange,
NumberRangeException, NumberRangeException,
RangeBoundsException,
WeekDay, WeekDay,
WeekDays WeekDays
) )

View File

@@ -1,5 +1,7 @@
from pytest import raises from pytest import raises, mark
from sqlalchemy_utils.primitives import NumberRange, NumberRangeException from sqlalchemy_utils.primitives import (
NumberRange, NumberRangeException, RangeBoundsException
)
class TestNumberRangeInit(object): class TestNumberRangeInit(object):
@@ -76,9 +78,19 @@ def test_str_representation():
assert str(NumberRange(1, 1)) == '1' assert str(NumberRange(1, 1)) == '1'
def test_raises_exception_for_badly_constructed_range():
with raises(NumberRangeException): @mark.parametrize('number_range',
NumberRange(3, 2) (
(3, 2),
[4, 2],
'5-2',
(float('inf'), 2),
'[4, 3]',
)
)
def test_raises_exception_for_badly_constructed_range(number_range):
with raises(RangeBoundsException):
NumberRange(number_range)
class TestArithmeticOperators(object): class TestArithmeticOperators(object):