### Question:
AbstractAssetManager { public void executeDropAsset() { if (!logicalPlan.getType().equals(SQLType.DROP_ASSET)) { throw new BlkchnException("Statement executed is not of type 'DROP ASSET'"); } TreeNode dropAsset = logicalPlan.getDropAsset(); String asset = dropAsset.getChildType(Asset.class, 0).getChildType(IdentifierNode.class, 0).getValue().trim(); removeSchemaInDB(asset); }  @SuppressWarnings("unchecked") void executeCreateAsset(); void executeDropAsset(); String getSchemaJSON(String asset); abstract Properties getDBProperties();  }### Answer:
@Test public void testDropAsset() throws Exception { AbstractAssetManager Am = new AbstractAssetManager() { @Override public Properties getDBProperties() { return null; } }; String sqlCreate = "Drop ASSET user_asset1"; LogicalPlan plan = getLogicalPlan(sqlCreate); Am.logicalPlan = plan; String privateDeleteDBMethod = "removeSchemaInDB"; AbstractAssetManager spyObject = PowerMockito.spy(Am); PowerMockito.doNothing().when(spyObject,privateDeleteDBMethod,anyString()); spyObject.executeDropAsset(); }