| 249 | } |
| 250 | |
| 251 | func TestScriptNum_Bytes(t *testing.T) { |
| 252 | tests := []struct { |
| 253 | in ScriptNum |
| 254 | want []byte |
| 255 | }{ |
| 256 | {ScriptNum{0}, nil}, |
| 257 | {ScriptNum{127}, []byte{0x7f}}, |
| 258 | {ScriptNum{-127}, []byte{0xff}}, |
| 259 | {ScriptNum{128}, []byte{0x80, 0x00}}, |
| 260 | {ScriptNum{-128}, []byte{0x80, 0x80}}, |
| 261 | {ScriptNum{129}, []byte{0x81, 0x00}}, |
| 262 | {ScriptNum{-129}, []byte{0x81, 0x80}}, |
| 263 | {ScriptNum{256}, []byte{0x00, 0x01}}, |
| 264 | {ScriptNum{-256}, []byte{0x00, 0x81}}, |
| 265 | {ScriptNum{32767}, []byte{0xff, 0x7f}}, |
| 266 | {ScriptNum{-32767}, []byte{0xff, 0xff}}, |
| 267 | {ScriptNum{32768}, []byte{0x00, 0x80, 0x00}}, |
| 268 | {ScriptNum{-32768}, []byte{0x00, 0x80, 0x80}}, |
| 269 | } |
| 270 | |
| 271 | for _, v := range tests { |
| 272 | value := v |
| 273 | result := value.in.Bytes() |
| 274 | assert.Equal(t, value.want, result) |
| 275 | } |
| 276 | } |
| 277 | |
| 278 | func TestMinimallyEncode(t *testing.T) { |
| 279 | tests := []struct { |