| processMessage(BftMessage, Message) |   | 65% |   | 75% | 2 | 5 | 4 | 13 | 0 | 1 |
| handleRoundExpiry(RoundExpiry) |   | 67% |   | 75% | 1 | 3 | 3 | 9 | 0 | 1 |
| handleNewBlockEvent(NewChainHead) |   | 92% |   | 83% | 1 | 4 | 2 | 21 | 0 | 1 |
| isMsgForFutureChainHeight(ConsensusRoundIdentifier) |   | 90% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| consumeMessage(Message, BftMessage, Consumer) |  | 100% |  | 100% | 0 | 3 | 0 | 11 | 0 | 1 |
| BaseBftController(Blockchain, BftFinalState, Gossiper, MessageTracker, FutureMessageBuffer, SynchronizerUpdater) |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| handleBlockTimerExpiry(BlockTimerExpiry) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| handleMessageEvent(BftReceivedMessageEvent) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| startNewHeightManager(BlockHeader) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| start() |  | 100% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| isMsgForCurrentHeight(ConsensusRoundIdentifier) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isMsgFromKnownValidator(Authored) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |