github.com/decred/dcrlnd@v0.7.6/lnwire/channel_type_test.go (about)

     1  package lnwire
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  // TestChannelTypeEncodeDecode tests that we're able to properly encode and
    10  // decode channel types within TLV streams.
    11  func TestChannelTypeEncodeDecode(t *testing.T) {
    12  	t.Parallel()
    13  
    14  	chanType := ChannelType(*NewRawFeatureVector(
    15  		StaticRemoteKeyRequired,
    16  		AnchorsZeroFeeHtlcTxRequired,
    17  	))
    18  
    19  	var extraData ExtraOpaqueData
    20  	require.NoError(t, extraData.PackRecords(&chanType))
    21  
    22  	var chanType2 ChannelType
    23  	tlvs, err := extraData.ExtractRecords(&chanType2)
    24  	require.NoError(t, err)
    25  
    26  	require.Contains(t, tlvs, ChannelTypeRecordType)
    27  	require.Equal(t, chanType, chanType2)
    28  }