package shared import ( "testing" "github.com/stretchr/testify/require" ) func TestParseVersionString(t *testing.T) { p, err := ParseVersionString("v0.200") require.NoError(t, err) require.Equal(t, ParsedVersion{MajorVersion: 0, MinorVersion: 200}, p) p, err = ParseVersionString("v1.200") require.NoError(t, err) require.Equal(t, ParsedVersion{MajorVersion: 1, MinorVersion: 200}, p) p, err = ParseVersionString("v1.0") require.NoError(t, err) require.Equal(t, ParsedVersion{MajorVersion: 1, MinorVersion: 0}, p) p, err = ParseVersionString("v0.216") require.NoError(t, err) require.Equal(t, ParsedVersion{MajorVersion: 0, MinorVersion: 216}, p) p, err = ParseVersionString("v123.456") require.NoError(t, err) require.Equal(t, ParsedVersion{MajorVersion: 123, MinorVersion: 456}, p) } func TestVersionLessThan(t *testing.T) { require.False(t, ParsedVersion{0, 200}.LessThan(ParsedVersion{0, 200})) require.False(t, ParsedVersion{1, 200}.LessThan(ParsedVersion{1, 200})) require.False(t, ParsedVersion{0, 201}.LessThan(ParsedVersion{0, 200})) require.False(t, ParsedVersion{1, 0}.LessThan(ParsedVersion{0, 200})) require.True(t, ParsedVersion{0, 199}.LessThan(ParsedVersion{0, 200})) require.True(t, ParsedVersion{0, 200}.LessThan(ParsedVersion{0, 205})) require.True(t, ParsedVersion{1, 200}.LessThan(ParsedVersion{1, 205})) require.True(t, ParsedVersion{0, 200}.LessThan(ParsedVersion{1, 1})) } func TestVersionGreaterThan(t *testing.T) { require.False(t, ParsedVersion{0, 200}.GreaterThan(ParsedVersion{0, 200})) require.False(t, ParsedVersion{1, 200}.GreaterThan(ParsedVersion{1, 200})) require.True(t, ParsedVersion{0, 201}.GreaterThan(ParsedVersion{0, 200})) require.True(t, ParsedVersion{1, 0}.GreaterThan(ParsedVersion{0, 200})) require.True(t, ParsedVersion{1, 1}.GreaterThan(ParsedVersion{1, 0})) require.False(t, ParsedVersion{0, 199}.GreaterThan(ParsedVersion{0, 200})) require.False(t, ParsedVersion{0, 200}.GreaterThan(ParsedVersion{0, 205})) require.False(t, ParsedVersion{1, 200}.GreaterThan(ParsedVersion{1, 205})) require.False(t, ParsedVersion{0, 200}.GreaterThan(ParsedVersion{1, 1})) }