### Question:
Manager { public BlockStore getBlockStore() { return chainBaseManager.getBlockStore(); }  WitnessStore getWitnessStore(); boolean needToUpdateAsset(); DynamicPropertiesStore getDynamicPropertiesStore(); DelegationStore getDelegationStore(); IncrementalMerkleTreeStore getMerkleTreeStore(); WitnessScheduleStore getWitnessScheduleStore(); DelegatedResourceStore getDelegatedResourceStore(); DelegatedResourceAccountIndexStore getDelegatedResourceAccountIndexStore(); CodeStore getCodeStore(); ContractStore getContractStore(); VotesStore getVotesStore(); ProposalStore getProposalStore(); ExchangeStore getExchangeStore(); ExchangeV2Store getExchangeV2Store(); StorageRowStore getStorageRowStore(); BlockIndexStore getBlockIndexStore(); List<TransactionCapsule> getPendingTransactions(); List<TransactionCapsule> getPoppedTransactions(); BlockingQueue<TransactionCapsule> getRePushTransactions(); void stopRePushThread(); void stopRePushTriggerThread(); @PostConstruct void init(); void initGenesis(); void initAccount(); void initCacheTxs(); AccountStore getAccountStore(); AccountIndexStore getAccountIndexStore(); boolean pushTransaction(final TransactionCapsule trx); void consumeMultiSignFee(TransactionCapsule trx, TransactionTrace trace); void consumeBandwidth(TransactionCapsule trx, TransactionTrace trace); synchronized void eraseBlock(); void pushVerifiedBlock(BlockCapsule block); synchronized void pushBlock(final BlockCapsule block); void updateDynamicProperties(BlockCapsule block); LinkedList<BlockId> getBlockChainHashesOnFork(final BlockId forkBlockHash); TransactionInfo processTransaction(final TransactionCapsule trxCap, BlockCapsule blockCap); synchronized BlockCapsule generateBlock(Miner miner, long blockTime, long timeout); TransactionStore getTransactionStore(); TransactionHistoryStore getTransactionHistoryStore(); TransactionRetStore getTransactionRetStore(); BlockStore getBlockStore(); void processBlock(BlockCapsule block); void updateRecentBlock(BlockCapsule block); void updateFork(BlockCapsule block); long getSyncBeginNumber(); AssetIssueStore getAssetIssueStore(); AssetIssueV2Store getAssetIssueV2Store(); AccountIdIndexStore getAccountIdIndexStore(); NullifierStore getNullifierStore(); void closeAllStore(); void closeOneStore(ITronChainBase database); boolean isTooManyPending(); void preValidateTransactionSign(BlockCapsule block); void rePush(TransactionCapsule tx); long getHeadBlockNum(); void setCursor(Chainbase.Cursor cursor); void resetCursor(); @Getter
  @Setter
  public boolean eventPluginLoaded; }### Answer:
@Test public void getHeadTest() { try { BlockCapsule head = chainManager.getHead(); Assert.assertTrue(head instanceof BlockCapsule); } catch (HeaderNotFound e) { Assert.assertFalse(e instanceof HeaderNotFound); } chainManager.getBlockStore().reset(); try { chainManager.getHead(); Assert.assertTrue(false); } catch (HeaderNotFound e) { logger.info(e.getMessage()); Assert.assertTrue(e instanceof HeaderNotFound); } }