/ record / custom_records_test.go
custom_records_test.go
 1  package record
 2  
 3  import (
 4  	"testing"
 5  
 6  	"github.com/stretchr/testify/require"
 7  )
 8  
 9  // TestCustomRecordKeysend tests that a keysend entry is always detected in a
10  // custom record set.
11  func TestCustomRecordKeysend(t *testing.T) {
12  	tests := []struct {
13  		name            string
14  		records         CustomSet
15  		expectedKeySend bool
16  	}{
17  		{
18  			name:            "empty custom set",
19  			records:         make(CustomSet),
20  			expectedKeySend: false,
21  		},
22  		{
23  			name: "contains keysend record",
24  			records: CustomSet{
25  				KeySendType: []byte{1, 2, 3},
26  			},
27  			expectedKeySend: true,
28  		},
29  		{
30  			name: "contains other records but no keysend",
31  			records: CustomSet{
32  				CustomTypeStart: []byte{1, 2, 3},
33  			},
34  			expectedKeySend: false,
35  		},
36  		{
37  			name: "contains keysend and other records",
38  			records: CustomSet{
39  				KeySendType:     []byte{1},
40  				CustomTypeStart: []byte{2},
41  			},
42  			expectedKeySend: true,
43  		},
44  	}
45  
46  	for _, test := range tests {
47  		t.Run(test.name, func(t *testing.T) {
48  			t.Parallel()
49  
50  			result := test.records.IsKeysend()
51  			require.Equal(t, test.expectedKeySend, result)
52  		})
53  	}
54  }