[#168] object: Implement binary/JSON encoders/decoders on Object

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2020-11-13 15:51:27 +03:00 committed by Alex Vanin
parent 9cdd14841a
commit 9325e22871
7 changed files with 102 additions and 15 deletions

View file

@ -287,3 +287,28 @@ func TestRwObject_HasParent(t *testing.T) {
require.False(t, obj.HasParent())
}
func TestRWObjectEncoding(t *testing.T) {
o := NewRaw()
o.SetID(randID(t))
t.Run("binary", func(t *testing.T) {
data, err := o.Marshal()
require.NoError(t, err)
o2 := NewRaw()
require.NoError(t, o2.Unmarshal(data))
require.Equal(t, o, o2)
})
t.Run("json", func(t *testing.T) {
data, err := o.MarshalJSON()
require.NoError(t, err)
o2 := NewRaw()
require.NoError(t, o2.UnmarshalJSON(data))
require.Equal(t, o, o2)
})
}