### Question:
ContractManager implements ContractEventListener { public void loadBundle(ContractVersion contractVersion) { log.debug("LoadBundle : contractVersion={}", contractVersion); File contractFile = null; if (isContractFileExist(contractVersion)) { contractFile = new File(contractFilePath(contractVersion)); } else { contractFile = Downloader.downloadContract(contractPath, contractVersion); } if (!verifyContractFile(contractFile, contractVersion)) { return; } Bundle bundle = getBundle(contractVersion); if (bundle == null) { try { bundle = bundleService.install(contractVersion, contractFile); } catch (IOException | BundleException e) { log.error("ContractFile {} failed to install with {}", contractVersion, e.getMessage()); return; } } try { bundleService.start(contractVersion); } catch (BundleException e) { log.error("Bundle {} failed to start with {}", bundle.getSymbolicName(), e.getMessage()); return; } registerServiceMap(contractVersion, bundle); injectBundle(bundle); } ContractManager(GenesisBlock genesis, BundleService bundleService, DefaultConfig defaultConfig,
                    ContractStore contractStore, LogStore logStore, SystemProperties systemProperties); void setNodeStatus(NodeStatus nodeStatus); void commitBlockResult(BlockRuntimeResult result); @Override void endBlock(ContractEvent event); @Override void endBlock(BlockRuntimeResult result, ContractEvent event); void loadBundle(ContractVersion contractVersion); Bundle getBundle(ContractVersion contractVersion); Bundle[] getBundles(); List<Bundle> getBundlesByName(String contractName); void uninstall(ContractVersion contractVersion); void stop(ContractVersion contractVersion); void start(ContractVersion contractVersion); List<ContractStatus> searchContracts(); Log getLog(long index); List<Log> getLogs(long start, long offset); long getCurLogIndex(); Object query(String contractVersion, String methodName, JsonObject params); Sha3Hash getOriginStateRootHash(); JsonObject getOriginStateRoot(); BlockRuntimeResult executeTxs(ConsensusBlock nextBlock); BlockRuntimeResult executeTxs(List<Transaction> txs); TransactionRuntimeResult executeTx(Transaction tx); boolean isContractFileExist(ContractVersion version); void close();  }### Answer:
@Test public void loadBundleTest() throws BundleException { int numOfBundles = manager.getBundles().length; manager.loadBundle(coinContract); Assert.assertNotNull(manager.getBundle(coinContract)); Assert.assertEquals(numOfBundles + 1, manager.getBundles().length); manager.uninstall(coinContract); }