示例#1
0
func checkWithdrawalOutputs(
	t *testing.T, wStatus *vp.WithdrawalStatus, amounts map[string]dcrutil.Amount) {
	fulfilled := wStatus.Outputs()
	if len(fulfilled) != 2 {
		t.Fatalf("Unexpected number of outputs in WithdrawalStatus; got %d, want %d",
			len(fulfilled), 2)
	}
	for _, output := range fulfilled {
		addr := output.Address()
		amount, ok := amounts[addr]
		if !ok {
			t.Fatalf("Unexpected output addr: %s", addr)
		}

		status := output.Status()
		if status != "success" {
			t.Fatalf(
				"Unexpected status for output %v; got '%s', want 'success'", output, status)
		}

		outpoints := output.Outpoints()
		if len(outpoints) != 1 {
			t.Fatalf(
				"Unexpected number of outpoints for output %v; got %d, want 1", output,
				len(outpoints))
		}

		gotAmount := outpoints[0].Amount()
		if gotAmount != amount {
			t.Fatalf("Unexpected amount for output %v; got %v, want %v", output, gotAmount, amount)
		}
	}
}