[#302] pkg/netmap: Convert nil NetworkInfo
to nil message
Document that `NetworkInfo.ToV2` method return `nil` when called on `nil`. Document that `NewNetworkInfoFromV2` function return `nil` when called on `nil`. Write corresponding unit tests. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
44437bf81a
commit
6142a352da
2 changed files with 18 additions and 0 deletions
|
@ -9,6 +9,8 @@ import (
|
|||
type NetworkInfo netmap.NetworkInfo
|
||||
|
||||
// NewNetworkInfoFromV2 wraps v2 NetworkInfo message to NetworkInfo.
|
||||
//
|
||||
// Nil netmap.NetworkInfo converts to nil.
|
||||
func NewNetworkInfoFromV2(iV2 *netmap.NetworkInfo) *NetworkInfo {
|
||||
return (*NetworkInfo)(iV2)
|
||||
}
|
||||
|
@ -19,6 +21,8 @@ func NewNetworkInfo() *NetworkInfo {
|
|||
}
|
||||
|
||||
// ToV2 converts NetworkInfo to v2 NetworkInfo.
|
||||
//
|
||||
// Nil NetworkInfo converts to nil.
|
||||
func (i *NetworkInfo) ToV2() *netmap.NetworkInfo {
|
||||
return (*netmap.NetworkInfo)(i)
|
||||
}
|
||||
|
|
|
@ -51,3 +51,17 @@ func TestNetworkInfoEncoding(t *testing.T) {
|
|||
require.Equal(t, i, i2)
|
||||
})
|
||||
}
|
||||
|
||||
func TestNewNetworkInfoFromV2(t *testing.T) {
|
||||
t.Run("nil", func(t *testing.T) {
|
||||
require.Nil(t, NewNetworkInfoFromV2(nil))
|
||||
})
|
||||
}
|
||||
|
||||
func TestNetworkInfo_ToV2(t *testing.T) {
|
||||
t.Run("nil", func(t *testing.T) {
|
||||
var x *NetworkInfo
|
||||
|
||||
require.Nil(t, x.ToV2())
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue