tlv/truncated_test: add tests for SizeTuintXX methods
This commit is contained in:
parent
ea77ff91c2
commit
32bb9917f9
195
tlv/truncated_test.go
Normal file
195
tlv/truncated_test.go
Normal file
@ -0,0 +1,195 @@
|
||||
package tlv_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/lightningnetwork/lnd/tlv"
|
||||
)
|
||||
|
||||
var tuint16Tests = []struct {
|
||||
value uint16
|
||||
size uint64
|
||||
}{
|
||||
{
|
||||
value: 0x0000,
|
||||
size: 0,
|
||||
},
|
||||
{
|
||||
value: 0x0001,
|
||||
size: 1,
|
||||
},
|
||||
{
|
||||
value: 0x00ff,
|
||||
size: 1,
|
||||
},
|
||||
{
|
||||
value: 0x0100,
|
||||
size: 2,
|
||||
},
|
||||
{
|
||||
value: 0xffff,
|
||||
size: 2,
|
||||
},
|
||||
}
|
||||
|
||||
// TestSizeTUint16 asserts that SizeTUint16 computes the proper truncated size
|
||||
// along boundary conditions of the input space.
|
||||
func TestSizeTUint16(t *testing.T) {
|
||||
for _, test := range tuint16Tests {
|
||||
name := fmt.Sprintf("0x%x", test.value)
|
||||
t.Run(name, func(t *testing.T) {
|
||||
size := tlv.SizeTUint16(test.value)
|
||||
if test.size != size {
|
||||
t.Fatalf("size mismatch, expected: %d got: %d",
|
||||
test.size, size)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
var tuint32Tests = []struct {
|
||||
value uint32
|
||||
size uint64
|
||||
}{
|
||||
{
|
||||
value: 0x00000000,
|
||||
size: 0,
|
||||
},
|
||||
{
|
||||
value: 0x00000001,
|
||||
size: 1,
|
||||
},
|
||||
{
|
||||
value: 0x000000ff,
|
||||
size: 1,
|
||||
},
|
||||
{
|
||||
value: 0x00000100,
|
||||
size: 2,
|
||||
},
|
||||
{
|
||||
value: 0x0000ffff,
|
||||
size: 2,
|
||||
},
|
||||
{
|
||||
value: 0x00010000,
|
||||
size: 3,
|
||||
},
|
||||
{
|
||||
value: 0x00ffffff,
|
||||
size: 3,
|
||||
},
|
||||
{
|
||||
value: 0x01000000,
|
||||
size: 4,
|
||||
},
|
||||
{
|
||||
value: 0xffffffff,
|
||||
size: 4,
|
||||
},
|
||||
}
|
||||
|
||||
// TestSizeTUint32 asserts that SizeTUint32 computes the proper truncated size
|
||||
// along boundary conditions of the input space.
|
||||
func TestSizeTUint32(t *testing.T) {
|
||||
for _, test := range tuint32Tests {
|
||||
name := fmt.Sprintf("0x%x", test.value)
|
||||
t.Run(name, func(t *testing.T) {
|
||||
size := tlv.SizeTUint32(test.value)
|
||||
if test.size != size {
|
||||
t.Fatalf("size mismatch, expected: %d got: %d",
|
||||
test.size, size)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
var tuint64Tests = []struct {
|
||||
value uint64
|
||||
size uint64
|
||||
}{
|
||||
{
|
||||
value: 0x0000000000000000,
|
||||
size: 0,
|
||||
},
|
||||
{
|
||||
value: 0x0000000000000001,
|
||||
size: 1,
|
||||
},
|
||||
{
|
||||
value: 0x00000000000000ff,
|
||||
size: 1,
|
||||
},
|
||||
{
|
||||
value: 0x0000000000000100,
|
||||
size: 2,
|
||||
},
|
||||
{
|
||||
value: 0x000000000000ffff,
|
||||
size: 2,
|
||||
},
|
||||
{
|
||||
value: 0x0000000000010000,
|
||||
size: 3,
|
||||
},
|
||||
{
|
||||
value: 0x0000000000ffffff,
|
||||
size: 3,
|
||||
},
|
||||
{
|
||||
value: 0x0000000001000000,
|
||||
size: 4,
|
||||
},
|
||||
{
|
||||
value: 0x00000000ffffffff,
|
||||
size: 4,
|
||||
},
|
||||
{
|
||||
value: 0x0000000100000000,
|
||||
size: 5,
|
||||
},
|
||||
{
|
||||
value: 0x000000ffffffffff,
|
||||
size: 5,
|
||||
},
|
||||
{
|
||||
value: 0x0000010000000000,
|
||||
size: 6,
|
||||
},
|
||||
{
|
||||
value: 0x0000ffffffffffff,
|
||||
size: 6,
|
||||
},
|
||||
{
|
||||
value: 0x0001000000000000,
|
||||
size: 7,
|
||||
},
|
||||
{
|
||||
value: 0x00ffffffffffffff,
|
||||
size: 7,
|
||||
},
|
||||
{
|
||||
value: 0x0100000000000000,
|
||||
size: 8,
|
||||
},
|
||||
{
|
||||
value: 0xffffffffffffffff,
|
||||
size: 8,
|
||||
},
|
||||
}
|
||||
|
||||
// TestSizeTUint64 asserts that SizeTUint64 computes the proper truncated size
|
||||
// along boundary conditions of the input space.
|
||||
func TestSizeTUint64(t *testing.T) {
|
||||
for _, test := range tuint64Tests {
|
||||
name := fmt.Sprintf("0x%x", test.value)
|
||||
t.Run(name, func(t *testing.T) {
|
||||
size := tlv.SizeTUint64(test.value)
|
||||
if test.size != size {
|
||||
t.Fatalf("size mismatch, expected: %d got: %d",
|
||||
test.size, size)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user