[#302] pkg/object: Document default values set in NewTombstone
Document field values of instance constructed via `NewTombstone`. Assert the values in corresponding unit test. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
753402c336
commit
2fb67d99d3
2 changed files with 30 additions and 0 deletions
|
@ -16,10 +16,22 @@ func NewTombstoneFromV2(tV2 *tombstone.Tombstone) *Tombstone {
|
|||
}
|
||||
|
||||
// NewTombstone creates and initializes blank Tombstone.
|
||||
//
|
||||
// Defaults:
|
||||
// - exp: 0;
|
||||
// - splitID: nil;
|
||||
// - members: nil.
|
||||
func NewTombstone() *Tombstone {
|
||||
return NewTombstoneFromV2(new(tombstone.Tombstone))
|
||||
}
|
||||
|
||||
// ToV2 converts Tombstone to v2 Tombstone message.
|
||||
//
|
||||
// Nil Tombstone converts to nil.
|
||||
func (ts *Tombstone) ToV2() *tombstone.Tombstone {
|
||||
return (*tombstone.Tombstone)(ts)
|
||||
}
|
||||
|
||||
// ExpirationEpoch return number of tombstone expiration epoch.
|
||||
func (t *Tombstone) ExpirationEpoch() uint64 {
|
||||
return (*tombstone.Tombstone)(t).
|
||||
|
|
|
@ -72,3 +72,21 @@ func TestNewTombstoneFromV2(t *testing.T) {
|
|||
require.Nil(t, NewTombstoneFromV2(x))
|
||||
})
|
||||
}
|
||||
|
||||
func TestNewTombstone(t *testing.T) {
|
||||
t.Run("default values", func(t *testing.T) {
|
||||
ts := NewTombstone()
|
||||
|
||||
// check initial values
|
||||
require.Nil(t, ts.SplitID())
|
||||
require.Nil(t, ts.Members())
|
||||
require.Zero(t, ts.ExpirationEpoch())
|
||||
|
||||
// convert to v2 message
|
||||
tsV2 := ts.ToV2()
|
||||
|
||||
require.Nil(t, tsV2.GetSplitID())
|
||||
require.Nil(t, tsV2.GetMembers())
|
||||
require.Zero(t, tsV2.GetExpirationEpoch())
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue