github.com/storacha/go-ucanto@v0.7.2/core/result/ok/unit_test.go (about) 1 package ok 2 3 import ( 4 "testing" 5 6 "github.com/ipld/go-ipld-prime/datamodel" 7 "github.com/storacha/go-ucanto/core/ipld/codec/cbor" 8 udm "github.com/storacha/go-ucanto/core/result/ok/datamodel" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestUnit(t *testing.T) { 13 u := Unit{} 14 nd, err := u.ToIPLD() 15 require.NoError(t, err) 16 17 // should be represented as a map 18 require.Equal(t, nd.Kind(), datamodel.Kind_Map) 19 20 // should contain no items 21 it := nd.MapIterator() 22 require.True(t, it.Done()) 23 24 bytes, err := cbor.Encode(&u, udm.UnitType()) 25 require.NoError(t, err) 26 27 u2 := Unit{} 28 err = cbor.Decode(bytes, &u2, udm.UnitType()) 29 require.NoError(t, err) 30 31 require.Equal(t, u, u2) 32 }