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  }