OSDN Git Service

update
authorChengcheng Zhang <943420582@qq.com>
Mon, 1 Jul 2019 09:46:42 +0000 (17:46 +0800)
committerChengcheng Zhang <943420582@qq.com>
Mon, 1 Jul 2019 09:46:42 +0000 (17:46 +0800)
account/builder_test.go

index 1b5c50f..a0bef7a 100644 (file)
@@ -398,3 +398,72 @@ func TestCalcMergeGas(t *testing.T) {
                }
        }
 }
+
+// func TestReserveBtmUtxoChain(t *testing.T) {
+//     chainTxUtxoNum = 3
+//     utxos := []*UTXO{}
+//     m := mockAccountManager(t)
+//     for i := uint64(1); i <= 20; i++ {
+//             utxo := &UTXO{
+//                     OutputID:  bc.Hash{V0: i},
+//                     AccountID: "TestAccountID",
+//                     AssetID:   *consensus.BTMAssetID,
+//                     Amount:    i * chainTxMergeGas,
+//             }
+//             utxos = append(utxos, utxo)
+
+//             data, err := json.Marshal(utxo)
+//             if err != nil {
+//                     t.Fatal(err)
+//             }
+
+//             m.db.Set(StandardUTXOKey(utxo.OutputID), data)
+//     }
+
+//     cases := []struct {
+//             amount uint64
+//             want   []uint64
+//             err    bool
+//     }{
+//             {
+//                     amount: 1 * chainTxMergeGas,
+//                     want:   []uint64{1},
+//             },
+//             {
+//                     amount: 888888 * chainTxMergeGas,
+//                     want:   []uint64{},
+//                     err:    true,
+//             },
+//             {
+//                     amount: 7 * chainTxMergeGas,
+//                     want:   []uint64{4, 3, 1},
+//             },
+//             {
+//                     amount: 15 * chainTxMergeGas,
+//                     want:   []uint64{5, 4, 3, 2, 1, 6},
+//             },
+//             {
+//                     amount: 163 * chainTxMergeGas,
+//                     want:   []uint64{20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 2, 1, 3},
+//             },
+//     }
+
+//     for i, c := range cases {
+//             m.utxoKeeper.expireReservation(time.Unix(999999999, 0))
+//             utxos, err := m.reserveBtmUtxoChain(&txbuilder.TemplateBuilder{}, "TestAccountID", c.amount, false)
+
+//             if err != nil != c.err {
+//                     t.Fatalf("case %d got err %v want err = %v", i, err, c.err)
+//             }
+
+//             got := []uint64{}
+//             for _, utxo := range utxos {
+//                     got = append(got, utxo.Amount/chainTxMergeGas)
+//             }
+
+//             if !testutil.DeepEqual(got, c.want) {
+//                     t.Fatalf("case %d got %d want %d", i, got, c.want)
+//             }
+//     }
+
+// }