7 func TestNextLeaderTime(t *testing.T) {
14 wantNextLeaderTime uint64
18 startTime: 1557906284061,
22 wantNextLeaderTime: 1557906537561,
25 desc: "best block height equals to start block height",
26 startTime: 1557906284061,
30 wantNextLeaderTime: 1557906284061,
33 desc: "best block height equals to start block height",
34 startTime: 1557906284061,
38 wantNextLeaderTime: 1557906284061 + BlockNumEachNode*BlockTimeInterval,
41 desc: "the node is producting block",
42 startTime: 1557906284061,
46 wantNextLeaderTime: 1557906315561,
49 desc: "the node is producting block",
50 startTime: 1557906284061,
54 wantNextLeaderTime: 1557906348561,
57 desc: "first round, must exclude genesis block",
58 startTime: 1557906284061,
62 wantNextLeaderTime: 1557906284061 + 9*BlockTimeInterval,
66 for i, c := range cases {
67 nextLeaderTimestamp, err := nextLeaderTimeHelper(c.startTime, c.now, c.nodeOrder)
68 if err != c.wantError {
69 t.Fatalf("case #%d (%s) want error:%v, got error:%v", i, c.desc, c.wantError, err)
75 if nextLeaderTimestamp != c.wantNextLeaderTime {
76 t.Errorf("case #%d (%s) want next leader time:%d, got next leader time:%d", i, c.desc, c.wantNextLeaderTime, nextLeaderTimestamp)