[#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. // NewVersion creates and initializes blank Version.
// //
// Works similar as NewVersionFromV2(new(Version)). // Works similar as NewVersionFromV2(new(Version)).
//
// Defaults:
// - major: 0;
// - minor: 0.
func NewVersion() *Version { func NewVersion() *Version {
return NewVersionFromV2(new(refs.Version)) return NewVersionFromV2(new(refs.Version))
} }

View file

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