### Question:
BlockChainImpl implements Blockchain { @Override public Block getBlockByHash(byte[] hash) { return blockStore.getBlockByHash(hash); } BlockChainImpl(Repository repository,
                          BlockStore blockStore,
                          ReceiptStore receiptStore,
                          TransactionPool transactionPool,
                          EthereumListener listener,
                          BlockValidator blockValidator,
                          boolean flushEnabled,
                          int flushNumberOfBlocks,
                          BlockExecutor blockExecutor); @Override Repository getRepository(); @Override BlockStore getBlockStore(); EthereumListener getListener(); void setListener(EthereumListener listener); BlockValidator getBlockValidator(); @VisibleForTesting void setBlockValidator(BlockValidator validator); @Override long getSize(); @Override ImportResult tryToConnect(Block block); @Override void suspendProcess(); @Override void resumeProcess(); @Override BlockChainStatus getStatus(); @Override void setStatus(Block block, BlockDifficulty totalDifficulty); @Override Block getBlockByHash(byte[] hash); @Override void setExitOn(long exitOn); @Override boolean isBlockExist(byte[] hash); @Override List<BlockHeader> getListOfHeadersStartFrom(BlockIdentifier identifier, int skip, int limit, boolean reverse); @Override List<byte[]> getListOfBodiesByHashes(List<byte[]> hashes); @Override List<Block> getBlocksByNumber(long number); @Override List<BlockInformation> getBlocksInformationByNumber(long number); @Override boolean hasBlockInSomeBlockchain(@Nonnull final byte[] hash); @Override void removeBlocksByNumber(long number); @Override Block getBlockByNumber(long number); @Override void setBestBlock(Block block); @Override Block getBestBlock(); void setNoValidation(boolean noValidation); @Override TransactionInfo getTransactionInfo(byte[] hash); @Override void close(); @Override BlockDifficulty getTotalDifficulty(); @Override void setTotalDifficulty(BlockDifficulty totalDifficulty); @Override @VisibleForTesting byte[] getBestBlockHash(); @Override void setBlockRecorder(BlockRecorder blockRecorder); static byte[] calcTxTrie(List<Transaction> transactions); static byte[] calcReceiptsTrie(List<TransactionReceipt> receipts);  }### Answer:
@Test public void getUnknownBlockByHash() { BlockChainImpl blockChain = createBlockChain(); Assert.assertNull(blockChain.getBlockByHash(new BlockGenerator().getBlock(1).getHash().getBytes())); }