diff --git a/CHANGES.rst b/CHANGES.rst index 68b7893..993a64b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,12 @@ Changelog Here you can see the full list of changes between each SQLAlchemy-Utils release. +0.7.4 (2013-03-26) +^^^^^^^^^^^^^^^^^^ + +- Fixed NumberRange upper bound parsing + + 0.7.3 (2013-03-26) ^^^^^^^^^^^^^^^^^^ diff --git a/setup.py b/setup.py index cd19582..4120dc0 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ class PyTest(Command): setup( name='SQLAlchemy-Utils', - version='0.7.3', + version='0.7.4', url='https://github.com/kvesteri/sqlalchemy-utils', license='BSD', author='Konsta Vesterinen', diff --git a/sqlalchemy_utils/types.py b/sqlalchemy_utils/types.py index a8eaabd..73d6a26 100644 --- a/sqlalchemy_utils/types.py +++ b/sqlalchemy_utils/types.py @@ -137,7 +137,7 @@ class NumberRange(object): if value[0] == '(': min_value += 1 - if value[1] == ')': + if value[-1] == ')': max_value -= 1 return cls(min_value, max_value) diff --git a/tests/test_number_range.py b/tests/test_number_range.py index b3943fa..fbe647a 100644 --- a/tests/test_number_range.py +++ b/tests/test_number_range.py @@ -1,5 +1,5 @@ import sqlalchemy as sa -from pytest import raises +from pytest import raises, mark from sqlalchemy_utils import NumberRangeType, NumberRange, NumberRangeException from tests import DatabaseTestCase @@ -44,3 +44,8 @@ class TestNumberRange(object): number_range = NumberRange.from_str('1') assert number_range.min_value == 1 assert number_range.max_value == 1 + + def test_from_normalized_str(self): + assert str(NumberRange.from_normalized_str('[1,2]')) == '[1, 2]' + assert str(NumberRange.from_normalized_str('[1,3)')) == '[1, 2]' + assert str(NumberRange.from_normalized_str('(1,3)')) == '[2, 2]'