[#356] refs: Add functions to work with zero subnet

Add helper functions which provide ease of use with subnet zero IDs.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-11-18 18:13:17 +03:00 committed by LeL
parent 580f6c5554
commit f0af5ce759
2 changed files with 30 additions and 0 deletions

View file

@ -183,6 +183,16 @@ func (s *SubnetID) GetValue() uint32 {
return 0 return 0
} }
// IsZeroSubnet returns true iff the SubnetID refers to zero subnet.
func IsZeroSubnet(id *SubnetID) bool {
return id.GetValue() == 0
}
// MakeZeroSubnet makes the SubnetID to refer to zero subnet.
func MakeZeroSubnet(id *SubnetID) {
id.SetValue(0)
}
func (v *Version) GetMajor() uint32 { func (v *Version) GetMajor() uint32 {
if v != nil { if v != nil {
return v.major return v.major

20
refs/types_test.go Normal file
View file

@ -0,0 +1,20 @@
package refs_test
import (
"testing"
"github.com/nspcc-dev/neofs-api-go/v2/refs"
"github.com/stretchr/testify/require"
)
func TestZeroSubnet(t *testing.T) {
id := new(refs.SubnetID)
require.True(t, refs.IsZeroSubnet(id))
id.SetValue(1)
require.False(t, refs.IsZeroSubnet(id))
refs.MakeZeroSubnet(id)
require.True(t, refs.IsZeroSubnet(id))
}