[#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>
remotes/KirillovDenis/feature/refactor-sig-rpc
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.
//
// Defaults:
// - size: 0;
// - exp: 0;
// - members: nil;
// - hash: nil.
func New() *StorageGroup {
return NewFromV2(new(storagegroup.StorageGroup))
}

View File

@ -71,3 +71,23 @@ func TestStorageGroup_ToV2(t *testing.T) {
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())
})
}