github.com/Bytom/bytom@v1.1.2-0.20210127130405-ae40204c0b09/consensus/general_test.go (about) 1 package consensus 2 3 import "testing" 4 5 func TestSubsidy(t *testing.T) { 6 cases := []struct { 7 subsidy uint64 8 height uint64 9 }{ 10 { 11 subsidy: baseSubsidy, 12 height: 1, 13 }, 14 { 15 subsidy: baseSubsidy, 16 height: subsidyReductionInterval - 1, 17 }, 18 { 19 subsidy: baseSubsidy / 2, 20 height: subsidyReductionInterval, 21 }, 22 { 23 subsidy: baseSubsidy / 2, 24 height: subsidyReductionInterval + 1, 25 }, 26 { 27 subsidy: baseSubsidy / 1024, 28 height: subsidyReductionInterval * 10, 29 }, 30 } 31 32 for _, c := range cases { 33 subsidy := BlockSubsidy(c.height) 34 if subsidy != c.subsidy { 35 t.Errorf("got subsidy %d, want %d", subsidy, c.subsidy) 36 } 37 } 38 }