def test_range_repr(self): """ test repr usage for VersionRange """ assert repr(VersionRange.parse('(1.0, 2.0)')) == "VersionRange(StandardVersion(1, 0, 0, None), False, StandardVersion(2, 0, 0, None), False)" assert repr(VersionRange.parse('(1.0, 2.0]')) == "VersionRange(StandardVersion(1, 0, 0, None), False, StandardVersion(2, 0, 0, None), True)" assert repr(VersionRange.parse('[1.0, 2.0)')) == "VersionRange(StandardVersion(1, 0, 0, None), True, StandardVersion(2, 0, 0, None), False)" assert repr(VersionRange.parse('[1.0, 2.0]')) == "VersionRange(StandardVersion(1, 0, 0, None), True, StandardVersion(2, 0, 0, None), True)"
def test_range_string(self): """ test string usage for VersionRange """ assert str(VersionRange.parse('( 1.0, 2.0 )')) == '(1.0, 2.0)' assert str(VersionRange.parse('[ 1.0, 2.0 )')) == '[1.0, 2.0)' assert str(VersionRange.parse('( 1.0, 2.0 ]')) == '(1.0, 2.0]' assert str(VersionRange.parse('[ 1.0, 2.0 ]')) == '[1.0, 2.0]'
def test_range_set(self): """ test set usage for StandardVersion """ test = set() test.add(VersionRange.parse('(1.0, 2.0)')) test.add(VersionRange.parse('(1.0, 2.0)')) assert len(test) == 1 assert VersionRange.parse('(1.0, 2.0)') in test
def test_range_checking(self): """ test version range checking """ assert not VersionRange.parse('[1.0, 2.0)').contains(StandardVersion.parse('0.1')) assert VersionRange.parse('[1.0, 2.0)').contains(StandardVersion.parse('1')) assert VersionRange.parse('[1.0, 2.0)').contains(StandardVersion.parse('1.5')) assert not VersionRange.parse('[1.0, 2.0)').contains(StandardVersion.parse('2')) assert not VersionRange.parse('[1.0, 2.0)').contains(StandardVersion.parse('5')) assert not VersionRange.parse('(1.0, 2.0)').contains(StandardVersion.parse('0.1')) assert not VersionRange.parse('(1.0, 2.0]').contains(StandardVersion.parse('1')) assert VersionRange.parse('(1.0, 2.0]').contains(StandardVersion.parse('1.5')) assert VersionRange.parse('(1.0, 2.0]').contains(StandardVersion.parse('2')) assert not VersionRange.parse('(1.0, 2.0)').contains(StandardVersion.parse('5'))
def test_range_parse(self): try: VersionRange.parse('{1.0, 2.0)') assert False, 'Should have raised an exception for bad version range' except Exception: pass try: VersionRange.parse('[Z.0, 2.0)') assert False, 'Should have raised an exception for bad version range' except Exception: pass assert VersionRange.parse('[1.0, 2.0)') == VersionRange(StandardVersion(1), True, StandardVersion(2), False) assert VersionRange.parse('(1.0, 2.0]') == VersionRange(StandardVersion(1), False, StandardVersion(2), True) assert VersionRange.parse('[1.0, 2.0]') == VersionRange(StandardVersion(1), True, StandardVersion(2), True) assert VersionRange.parse('(1.0, 2.0)') == VersionRange(StandardVersion(1), False, StandardVersion(2), False)
def test_range_hash(self): """ test hash override for VersionRange """ assert hash(VersionRange.parse('(1.0, 2.0)')) != 0, 'VersionRanges have non-zero hashes' assert hash(VersionRange.parse('(1.0, 2.0)')) == hash(VersionRange.parse('(1.0, 2.0)'))
def test_range_not_equals(self): """ test not equals override for VersionRange """ assert not (VersionRange.parse('(1.0, 2.0)') != VersionRange.parse('(1.0, 2.0)')), 'Two instances of VersionRange are equal'
def test_range_equals(self): """ test equals override for VersionRange """ assert VersionRange.parse('(1.0, 2.0)') is not VersionRange.parse('(1.0, 2.0)'), 'Two instances of StandardVersion are not the same' assert VersionRange.parse('(1.0, 2.0)') == VersionRange.parse('(1.0, 2.0)')