def test_is_allowed_version(): assert is_allowed_version('<3.4', '3.3') is True assert is_allowed_version('<3.4', '3.3') is True assert is_allowed_version('<3.2', '3.3') is False assert is_allowed_version('<=3.4', '3.3') is True assert is_allowed_version('<=3.2', '3.3') is False assert is_allowed_version('==3.3', '3.3') is True assert is_allowed_version('==3.4', '3.3') is False assert is_allowed_version('>=3.2', '3.3') is True assert is_allowed_version('>=3.4', '3.3') is False assert is_allowed_version('>3.2', '3.3') is True assert is_allowed_version('>3.4', '3.3') is False assert is_allowed_version('~=3.4', '3.4.5') is True assert is_allowed_version('~=3.4', '3.5.0') is True # invalid spec with pytest.raises(InvalidSpecifier): is_allowed_version('&3.4', '3.5') # invalid version with pytest.raises(InvalidVersion): is_allowed_version('>3.4', 'Sphinx')