### Question:
Item extends DSpaceObject { @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Item other = (Item) obj; if (this.getType() != other.getType()) { return false; } if (this.getID() != other.getID()) { return false; } return true; } Item(Context context, TableRow row); static Item find(Context context, int id); static ItemIterator findAll(Context context); static ItemIterator findBySubmitter(Context context, EPerson eperson); int getID(); String getHandle(); boolean isArchived(); boolean isWithdrawn(); Date getLastModified(); void setArchived(boolean isArchived); void setOwningCollection(Collection c); Collection getOwningCollection(); @Deprecated DCValue[] getDC(String element, String qualifier, String lang); DCValue[] getMetadata(String schema, String element, String qualifier,
            String lang); DCValue[] getMetadata(String mdString); @Deprecated void addDC(String element, String qualifier, String lang,
            String[] values); @Deprecated void addDC(String element, String qualifier, String lang,
            String value); void addMetadata(String schema, String element, String qualifier, String lang,
            String[] values); void addMetadata(String schema, String element, String qualifier, String lang,
            String[] values, String authorities[], int confidences[]); void addMetadata(String schema, String element, String qualifier,
            String lang, String value); void addMetadata(String schema, String element, String qualifier,
            String lang, String value, String authority, int confidence); @Deprecated void clearDC(String element, String qualifier, String lang); void clearMetadata(String schema, String element, String qualifier,
            String lang); EPerson getSubmitter(); void setSubmitter(EPerson sub); boolean isIn(Collection collection); Collection[] getCollections(); Community[] getCommunities(); Bundle[] getBundles(); Bundle[] getBundles(String name); Bundle createBundle(String name); void addBundle(Bundle b); void removeBundle(Bundle b); Bitstream createSingleBitstream(InputStream is, String name); Bitstream createSingleBitstream(InputStream is); Bitstream[] getNonInternalBitstreams(); void removeDSpaceLicense(); void removeLicenses(); void update(); void withdraw(); void reinstate(); void decache(); @Override boolean equals(Object obj); @Override int hashCode(); boolean isOwningCollection(Collection c); int getType(); void replaceAllItemPolicies(List<ResourcePolicy> newpolicies); void replaceAllBitstreamPolicies(List<ResourcePolicy> newpolicies); void removeGroupPolicies(Group g); void inheritCollectionDefaultPolicies(Collection c); void move(Collection from, Collection to); void move(Collection from, Collection to, boolean inheritDefaultPolicies); boolean hasUploadedFiles(); Collection[] getCollectionsNotLinked(); boolean canEdit(); String getName(); static ItemIterator findByMetadataField(Context context,
               String schema, String element, String qualifier, String value); DSpaceObject getAdminObject(int action); DSpaceObject getParentObject(); static ItemIterator findByAuthorityValue(Context context,
            String schema, String element, String qualifier, String value); static final String ANY; }### Answer:
@Test @SuppressWarnings("ObjectEqualsNull") public void testEquals() throws SQLException, AuthorizeException { new NonStrictExpectations() { AuthorizeManager authManager; { AuthorizeManager.authorizeActionBoolean((Context) any, (Item) any, Constants.ADD); result = true; } }; assertFalse("testEquals 0",it.equals(null)); assertFalse("testEquals 1",it.equals(Item.create(context))); assertTrue("testEquals 2", it.equals(it)); }