### Question:
IbftBlockHeightManager implements BlockHeightManager { @Override public void roundExpired(final RoundExpiry expire) { if (!expire.getView().equals(currentRound.getRoundIdentifier())) { LOG.trace( "Ignoring Round timer expired which does not match current round. round={}, timerRound={}", currentRound.getRoundIdentifier(), expire.getView()); return; } LOG.debug( "Round has expired, creating PreparedCertificate and notifying peers. round={}", currentRound.getRoundIdentifier()); final Optional<PreparedRoundArtifacts> preparedRoundArtifacts = currentRound.constructPreparedRoundArtifacts(); if (preparedRoundArtifacts.isPresent()) { latestPreparedRoundArtifacts = preparedRoundArtifacts; } startNewRound(currentRound.getRoundIdentifier().getRoundNumber() + 1); try { final RoundChange localRoundChange = messageFactory.createRoundChange( currentRound.getRoundIdentifier(), latestPreparedRoundArtifacts); handleRoundChangePayload(localRoundChange); } catch (final SecurityModuleException e) { LOG.warn("Failed to create signed RoundChange message.", e); } transmitter.multicastRoundChange( currentRound.getRoundIdentifier(), latestPreparedRoundArtifacts); } IbftBlockHeightManager(
      final BlockHeader parentHeader,
      final IbftFinalState finalState,
      final RoundChangeManager roundChangeManager,
      final IbftRoundFactory ibftRoundFactory,
      final Clock clock,
      final MessageValidatorFactory messageValidatorFactory); @Override void handleBlockTimerExpiry(final ConsensusRoundIdentifier roundIdentifier); @Override void roundExpired(final RoundExpiry expire); @Override void handleProposalPayload(final Proposal proposal); @Override void handlePreparePayload(final Prepare prepare); @Override void handleCommitPayload(final Commit commit); @Override void handleRoundChangePayload(final RoundChange message); @Override long getChainHeight(); @Override BlockHeader getParentBlockHeader();  }### Answer:
@Test public void onRoundTimerExpiryANewRoundIsCreatedWithAnIncrementedRoundNumber() { final IbftBlockHeightManager manager = new IbftBlockHeightManager( headerTestFixture.buildHeader(), finalState, roundChangeManager, roundFactory, clock, messageValidatorFactory); verify(roundFactory).createNewRound(any(), eq(0)); manager.roundExpired(new RoundExpiry(roundIdentifier)); verify(roundFactory).createNewRound(any(), eq(1)); }