decred.org/dcrwallet/v3@v3.1.0/wallet/txrules/poolfees_test.go (about) 1 package txrules_test 2 3 import ( 4 "testing" 5 6 . "decred.org/dcrwallet/v3/wallet/txrules" 7 "github.com/decred/dcrd/chaincfg/v3" 8 "github.com/decred/dcrd/dcrutil/v4" 9 ) 10 11 func TestStakePoolTicketFee(t *testing.T) { 12 params := chaincfg.MainNetParams() 13 tests := []struct { 14 StakeDiff dcrutil.Amount 15 Fee dcrutil.Amount 16 Height int32 17 PoolFee float64 18 Expected dcrutil.Amount 19 }{ 20 0: {10 * 1e8, 0.01 * 1e8, 25000, 1.00, 0.01500463 * 1e8}, 21 1: {20 * 1e8, 0.01 * 1e8, 25000, 1.00, 0.01621221 * 1e8}, 22 2: {5 * 1e8, 0.05 * 1e8, 50000, 2.59, 0.03310616 * 1e8}, 23 3: {15 * 1e8, 0.05 * 1e8, 50000, 2.59, 0.03956376 * 1e8}, 24 } 25 for i, test := range tests { 26 poolFeeAmt := StakePoolTicketFee(test.StakeDiff, test.Fee, test.Height, 27 test.PoolFee, params, false) 28 if poolFeeAmt != test.Expected { 29 t.Errorf("Test %d: Got %v: Want %v", i, poolFeeAmt, test.Expected) 30 } 31 } 32 }