### Question:
IbftMiningCoordinator implements MiningCoordinator, BlockAddedObserver { @Override public void start() { if (state.compareAndSet(State.IDLE, State.RUNNING)) { ibftExecutors.start(); blockAddedObserverId = blockchain.observeBlockAdded(this); controller.start(); ibftExecutors.executeIbftProcessor(ibftProcessor); } } IbftMiningCoordinator(
      final IbftExecutors ibftExecutors,
      final IbftController controller,
      final IbftProcessor ibftProcessor,
      final IbftBlockCreatorFactory blockCreatorFactory,
      final Blockchain blockchain,
      final IbftEventQueue eventQueue); @Override void start(); @Override void stop(); @Override void awaitStop(); @Override boolean enable(); @Override boolean disable(); @Override boolean isMining(); @Override Wei getMinTransactionGasPrice(); @Override void setExtraData(final Bytes extraData); @Override Optional<Address> getCoinbase(); @Override Optional<Block> createBlock(
      final BlockHeader parentHeader,
      final List<Transaction> transactions,
      final List<BlockHeader> ommers); @Override void onBlockAdded(final BlockAddedEvent event);  }### Answer:
@Test public void startsMining() { ibftMiningCoordinator.start(); }