package variable

// import (
// 	"testing"

// 	"github.com/scutrobotlab/asuwave/internal/variable"
// )

// func TestMakeWriteCmd(t *testing.T) {
// 	cases := []struct {
// 		v    T
// 		want []byte
// 	}{
// 		{
// 			T{
// 				Board: 1,
// 				Name:  "a",
// 				Type:  "float",
// 				Addr:  0x20123456,
// 				Data:  -8.25,
// 				Tick:  0,
// 			},
// 			[]byte{0x1, 0x7, 0x4, 0x56, 0x34, 0x12, 0x20, 0x0, 0x0, 0x4, 0xc1, 0x0, 0x0, 0x0, 0x0, 0xa},
// 		},
// 	}

// 	for _, c := range cases {
// 		got := MakeWriteCmd(c.v)
// 		if string(got) != string(c.want) {
// 			t.Errorf("\nmakeWriteCmd(%#v)\n\thave: %#v\n\twant: %#v", c.v, got, c.want)
// 		}
// 	}
// }

// func TestMakeCmd(t *testing.T) {
// 	cases := []struct {
// 		v    CmdT
// 		act  ActMode
// 		want []byte
// 	}{
// 		{
// 			CmdT{
// 				Board:  1,
// 				Length: 4,
// 				Addr:   0x20123456,
// 			},
// 			Subscribe,
// 			[]byte{0x1, 0x1, 0x4, 0x56, 0x34, 0x12, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa},
// 		},
// 		{
// 			CmdT{
// 				Board:  1,
// 				Length: 4,
// 				Addr:   0x20123456,
// 			},
// 			Unsubscribe,
// 			[]byte{0x1, 0x3, 0x4, 0x56, 0x34, 0x12, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa},
// 		},
// 	}

// 	for _, c := range cases {
// 		got := MakeCmd(c.act, c.v)
// 		if string(got) != string(c.want) {
// 			t.Errorf("\nmakeCmd(%#v, %d)\n\thave: %#v\n\twant: %#v", c.v, c.act, got, c.want)
// 		}
// 	}
// }

// func TestFindValidPart(t *testing.T) {
// 	cases := []struct {
// 		data     []byte
// 		startIdx int
// 		endIdx   int
// 	}{
// 		{
// 			data: []byte{
// 				0x56, 0x34, 0x12, 0x80,
// 				0x00, 0x00, 0x04, 0xc1, 0x01, 0x02, 0x00, 0x00,
// 				0x00, 0x00, 0x00, 0x01,
// 			},
// 			startIdx: 0,
// 			endIdx:   0,
// 		},

// 		{
// 			data: []byte{
// 				0x01, 0x02, 0x04,
// 				0x56, 0x34, 0x12, 0x80,
// 				0x00, 0x00, 0x04, 0xc1, 0x00, 0x00, 0x00, 0x00,
// 				0x00, 0x00, 0x00, 0x01,
// 				0x0a,
// 			},
// 			startIdx: 0,
// 			endIdx:   20,
// 		},
// 		{
// 			data: []byte{
// 				0x01, 0x02, 0x04,
// 				0x56, 0x34, 0x12, 0x80,
// 				0x00, 0x00, 0x04, 0xc1, 0x00, 0x00, 0x00, 0x00,
// 				0x00, 0x00, 0x00, 0x01,
// 				0x0a,
// 				0x01, 0x02, 0x04,
// 				0x56, 0x34, 0x12, 0x80,
// 				0x00, 0x00, 0x04, 0xc1, 0x00, 0x00, 0x00, 0x00,
// 				0x00, 0x00, 0x00, 0x01,
// 				0x0a,
// 			},
// 			startIdx: 0,
// 			endIdx:   40,
// 		},

// 		{
// 			data: []byte{
// 				0x56, 0x34, 0x12, 0x80,
// 				0x00, 0x00, 0x04, 0xc1, 0x00, 0x00, 0x00, 0x00,
// 				0x00, 0x00, 0x00, 0x01,
// 				0x0a,

// 				0x01, 0x02, 0x04,
// 				0x56, 0x34, 0x12, 0x80,
// 				0x00, 0x00, 0x04, 0xc1, 0x00, 0x00, 0x00, 0x00,
// 				0x00, 0x00, 0x00, 0x01,
// 				0x0a,

// 				0x01, 0x02, 0x04,
// 			},
// 			startIdx: 17,
// 			endIdx:   37,
// 		},

// 		{
// 			data: []byte{
// 				0x00, 0x00, 0x01, 0x02,
// 				0x0a,

// 				0x01, 0x02, 0x04,
// 				0x56, 0x34, 0x12, 0x80,
// 				0x00, 0x00, 0x04, 0xc1, 0x00, 0x00, 0x00, 0x00,
// 				0x00, 0x00, 0x00, 0x01,
// 				0x0a,

// 				0x00, 0x0a, 0x01, 0x02,
// 			},
// 			startIdx: 5,
// 			endIdx:   25,
// 		},
// 		{
// 			data: []byte{
// 				0xa,

// 				0x1, 0x2, 0x4,
// 				0x30, 0x4, 0x0, 0x20,
// 				0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
// 				0x41, 0xe2, 0x0, 0x0,
// 				0xa,

// 				0x1, 0x2, 0x4,
// 				0xa8, 0x4, 0x0, 0x20,
// 				0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
// 				0x41, 0xe2, 0x0, 0x0,
// 				0xa,

// 				0x1, 0x2, 0x4,
// 				0xac, 0x1, 0x0, 0x20,
// 				0x0, 0x0, 0xb4, 0xbe, 0x0, 0x0, 0x0, 0x0,
// 				0x4b, 0xe2, 0x0, 0x0,
// 				0xa,

// 				0x1, 0x2, 0x4,
// 				0x40, 0x3, 0x0, 0x20,
// 				0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
// 				0x4b, 0xe2, 0x0, 0x0,
// 				0xa,

// 				0x1, 0x2, 0x4,
// 				0xb8, 0x3, 0x0, 0x20,
// 				0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
// 				0x4b, 0xe2, 0x0, 0x0,
// 				0xa,

// 				0x1, 0x2, 0x4,
// 				0x30, 0x4, 0x0, 0x20,
// 				0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
// 				0x4b, 0xe2, 0x0, 0x0,
// 				0xa,

// 				0x1, 0x2, 0x4,
// 				0xa8, 0x4, 0x0, 0x20,
// 				0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
// 				0x4b, 0xe2, 0x0, 0x0,
// 				0xa,

// 				0x1, 0x2, 0x4,
// 				0xac, 0x1, 0x0, 0x20, 0x0, 0x80, 0x9d, 0xbe,
// 				0x0, 0x0, 0x0, 0x0,
// 				0x55, 0xe2, 0x0, 0x0,
// 			},
// 			startIdx: 1,
// 			endIdx:   141,
// 		},
// 	}
// 	for _, c := range cases {
// 		s, n := Unpack(c.data)
// 		if s != c.startIdx || n != c.endIdx {
// 			t.Errorf("VerifyBuff(%#v) == %#v,%#v want %#v,%#v", c.data, s, n, c.startIdx, c.endIdx)
// 		}
// 	}
// }
