[#302] pkg/storagegroup: Document default values set in New

Document field values of instance constructed via `New`.
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 20:44:26 +03:00 committed by Alex Vanin
parent 934cf8ecc8
commit 3bc25f54d8
2 changed files with 26 additions and 0 deletions

View file

@ -18,6 +18,12 @@ func NewFromV2(aV2 *storagegroup.StorageGroup) *StorageGroup {
} }
// New creates and initializes blank StorageGroup. // New creates and initializes blank StorageGroup.
//
// Defaults:
// - size: 0;
// - exp: 0;
// - members: nil;
// - hash: nil.
func New() *StorageGroup { func New() *StorageGroup {
return NewFromV2(new(storagegroup.StorageGroup)) return NewFromV2(new(storagegroup.StorageGroup))
} }

View file

@ -71,3 +71,23 @@ func TestStorageGroup_ToV2(t *testing.T) {
require.Nil(t, x.ToV2()) require.Nil(t, x.ToV2())
}) })
} }
func TestNew(t *testing.T) {
t.Run("default values", func(t *testing.T) {
sg := storagegroup.New()
// check initial values
require.Nil(t, sg.Members())
require.Nil(t, sg.ValidationDataHash())
require.Zero(t, sg.ExpirationEpoch())
require.Zero(t, sg.ValidationDataSize())
// convert to v2 message
sgV2 := sg.ToV2()
require.Nil(t, sgV2.GetMembers())
require.Nil(t, sgV2.GetValidationHash())
require.Zero(t, sgV2.GetExpirationEpoch())
require.Zero(t, sgV2.GetValidationDataSize())
})
}