### Question:
BitstreamFormat { public void delete() throws SQLException, AuthorizeException { if (!AuthorizeManager.isAdmin(bfContext)) { throw new AuthorizeException( "Only administrators can delete bitstream formats"); } BitstreamFormat unknown = findUnknown(bfContext); if (unknown.getID() == getID()) { throw new IllegalArgumentException("The Unknown bitstream format may not be deleted."); } bfContext.removeCached(this, getID()); int numberChanged = DatabaseManager.updateQuery(bfContext, "UPDATE bitstream SET bitstream_format_id= ? " + " WHERE bitstream_format_id= ? ", unknown.getID(),getID()); DatabaseManager.updateQuery(bfContext, "DELETE FROM fileextension WHERE bitstream_format_id= ? ", getID()); DatabaseManager.delete(bfContext, bfRow); log.info(LogManager.getHeader(bfContext, "delete_bitstream_format", "bitstream_format_id=" + getID() + ",bitstreams_changed=" + numberChanged)); } BitstreamFormat(Context context, TableRow row); static BitstreamFormat find(Context context, int id); static BitstreamFormat findByMIMEType(Context context,
            String mimeType); static BitstreamFormat findByShortDescription(Context context,
            String desc); static BitstreamFormat findUnknown(Context context); static BitstreamFormat[] findAll(Context context); static BitstreamFormat[] findNonInternal(Context context); static BitstreamFormat create(Context context); final int getID(); final String getShortDescription(); final void setShortDescription(String s); final String getDescription(); final void setDescription(String s); final String getMIMEType(); final void setMIMEType(String s); final int getSupportLevel(); String getSupportLevelText(); final void setSupportLevel(int sl); final boolean isInternal(); final void setInternal(boolean b); void update(); void delete(); String[] getExtensions(); void setExtensions(String[] exts); static int getSupportLevelID(String slevel); static final int UNKNOWN; static final int KNOWN; static final int SUPPORTED; }### Answer:
@Test(expected=AuthorizeException.class) public void testDeleteNotAdmin() throws SQLException, AuthorizeException { new NonStrictExpectations() { AuthorizeManager authManager; { AuthorizeManager.isAdmin((Context)any); result = false; } }; bf.delete(); fail("Exception should have been thrown"); }
@Test(expected=IllegalArgumentException.class) public void testDeleteUnknown() throws SQLException, AuthorizeException { new NonStrictExpectations() { AuthorizeManager authManager; { AuthorizeManager.isAdmin((Context)any); result = true; } }; bunknown.delete(); fail("Exception should have been thrown"); }