github.com/Bytom/bytom@v1.1.2-0.20210127130405-ae40204c0b09/equity/compiler/builder_test.go (about)

     1  package compiler
     2  
     3  // func TestBuilder(t *testing.T) {
     4  // 	cases := []struct {
     5  // 		name    string
     6  // 		f       func(*builder)
     7  // 		wantHex string
     8  // 	}{
     9  // 		{
    10  // 			"single pushdata",
    11  // 			func(b *builder) {
    12  // 				b.addInt64(1)
    13  // 			},
    14  // 			"51",
    15  // 		},
    16  // 		{
    17  // 			"pushdata and verify",
    18  // 			func(b *builder) {
    19  // 				b.addInt64(1)
    20  // 				b.addOp(vm.OP_VERIFY)
    21  // 			},
    22  // 			"51",
    23  // 		},
    24  // 		{
    25  // 			"pushdata, verify, second pushdata",
    26  // 			func(b *builder) {
    27  // 				b.addInt64(1)
    28  // 				b.addOp(vm.OP_VERIFY)
    29  // 				b.addInt64(2)
    30  // 			},
    31  // 			"516952",
    32  // 		},
    33  // 	}
    34  // 	for _, c := range cases {
    35  // 		t.Run(c.name, func(t *testing.T) {
    36  // 			b := newBuilder()
    37  // 			c.f(b)
    38  // 			got, err := b.build()
    39  // 			if err != nil {
    40  // 				t.Fatal(err)
    41  // 			}
    42  // 			want, err := hex.DecodeString(c.wantHex)
    43  // 			if err != nil {
    44  // 				t.Fatal(err)
    45  // 			}
    46  // 			if !bytes.Equal(got, want) {
    47  // 				t.Errorf("got %x, want %x", got, want)
    48  // 			}
    49  // 		})
    50  // 	}
    51  // }