[#302] pkg/version: Document default values set in NewVersion

Document field values of instance constructed via
`NewVersion`. Assert the values in corresponding
unit test.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
Pavel Karpy 2021-06-08 21:25:35 +03:00 committed by Alex Vanin
parent 768adfdd15
commit dc99d4edce
2 changed files with 29 additions and 9 deletions

View file

@ -21,6 +21,10 @@ func NewVersionFromV2(v *refs.Version) *Version {
// NewVersion creates and initializes blank Version.
//
// Works similar as NewVersionFromV2(new(Version)).
//
// Defaults:
// - major: 0;
// - minor: 0.
func NewVersion() *Version {
return NewVersionFromV2(new(refs.Version))
}

View file

@ -8,20 +8,36 @@ import (
)
func TestNewVersion(t *testing.T) {
v := NewVersion()
t.Run("default values", func(t *testing.T) {
v := NewVersion()
var mjr, mnr uint32 = 1, 2
// check initial values
require.Zero(t, v.Major())
require.Zero(t, v.Minor())
v.SetMajor(mjr)
v.SetMinor(mnr)
// convert to v2 message
vV2 := v.ToV2()
require.Equal(t, mjr, v.Major())
require.Equal(t, mnr, v.Minor())
require.Empty(t, vV2.GetMajor())
require.Empty(t, vV2.GetMinor())
})
ver := v.ToV2()
t.Run("setting values", func(t *testing.T) {
v := NewVersion()
require.Equal(t, mjr, ver.GetMajor())
require.Equal(t, mnr, ver.GetMinor())
var mjr, mnr uint32 = 1, 2
v.SetMajor(mjr)
v.SetMinor(mnr)
require.Equal(t, mjr, v.Major())
require.Equal(t, mnr, v.Minor())
ver := v.ToV2()
require.Equal(t, mjr, ver.GetMajor())
require.Equal(t, mnr, ver.GetMinor())
})
}
func TestSDKVersion(t *testing.T) {