def test_version_bump(bump_type, expected): v = Version((0, 1, 0, 0)) getattr(v, 'bump_%s' % bump_type)() expect(v.components) == expected
def test_read_shtool_files(file, expected): v = Version.read('tests/data/%s' % file) expect(v.as_dotted()) == expected
def test_major_bumps(v1, v2): start = Version(v1) start.bump_major() expect(start) == Version(v2)
def test_patch_bumps(v1, v2): start = Version(v1) start.bump_patch() expect(start) == Version(v2)
def test_cmp_version_to_tuple(): expect(Version()) == (0, 1, 0)
def test_four_component_micro_bump(v1, v2): start = Version(v1) start.bump_micro() expect(start) == Version(v2)
def test_version_bump_invalid_type_name(): v = Version() with expect.raises(ValueError, "Unknown bump_type 'pico'"): v.bump('pico')
def test_cmp_version_greather_than_equal(): expect(Version((0, 2, 0))) >= Version((0, 1, 0)) expect(Version((0, 2, 0))) >= Version((0, 2, 0))
def test_version_read_no_identifier(): with expect.raises(ValueError, "No valid version identifier in 'setup.py'"): Version.read('setup.py')
def test_version_bump_invalid_type(): v = Version() with expect.raises(ValueError, "Invalid bump_type 'patch' for version (0, 1, 0)"): v.bump('patch')
def test_version___eq___unknown_type(): # Differs between Python 2 and 3 true_repr = repr(type(True)) with expect.raises(NotImplementedError, "Unable to compare Version and %s" % true_repr): Version() == True
def test_version_init_invalid_component_type(components): with expect.raises(ValueError, "Invalid component values in %r" % components): Version(components)
def test_cmp_version_less_than_equal(): expect(Version((0, 1, 0))) <= Version((0, 2, 0)) expect(Version((0, 2, 0))) <= Version((0, 2, 0))
def test_version_repr_components(): expect(repr(Version([0, 2, 0]))) \ == "Version((0, 2, 0), 'unknown', %r)" % TODAY
def test_cmp_version_to_version(): expect(Version()) == Version()
def test_version_repr_name(): expect(repr(Version(name='foo'))) \ == "Version((0, 1, 0), 'foo', %r)" % TODAY
def test_two_component_minor_bump(v1, v2): start = Version(v1) start.bump_minor() expect(start) == Version(v2)
def test_version_repr_date(): expect(repr(Version(date=date(1970, 1, 1)))) \ == "Version((0, 1, 0), 'unknown', datetime.date(1970, 1, 1))"
def test_four_component_patch_bump(v1, v2): start = Version(v1) start.bump_patch() expect(start) == Version(v2)
def test_version_repr(): expect(repr(Version())) == "Version((0, 1, 0), 'unknown', %r)" % TODAY
def test_micro_bumps(v1, v2): start = Version(v1) start.bump_micro() expect(start) == Version(v2)
def test_cmp_version_to_list(): expect(Version()) == [0, 1, 0]
def test_version_set(value): v = Version() v.set(value) expect(v.components) == (0, 3, 0)
def test_cmp_version_to_str(): expect(Version()) == '0.1.0'
def test_version_display(display_type, expected): v = Version(date=date(2012, 5, 11)) expect(v.display(display_type)) == expected
def test_cmp_version_less_than(): expect(Version((0, 1, 0))) < Version((0, 2, 0))
def test_date_metadata(v, file): Version(v).write('tests/data/%s' % file, 'text') read = Version.read('tests/data/%s' % file) expect(read.as_date()) == date.today().isoformat() # Don't wrap in try/finally, so we can inspect if we get failures unlink('tests/data/%s' % file)
def test_version_init_invalid_count(components): with expect.raises(ValueError, 'Invalid number of components in %r' % components): Version(components)