### Question:
PropertyExistsFunction extends FunctionExpressionImpl { public boolean equals(Object obj) { if (obj == this) return true; if (!(obj instanceof PropertyExistsFunction)) { return false; } PropertyExistsFunction other = (PropertyExistsFunction) obj; if (other.getParameters().size() != this.getParameters().size()) return false; if (other.getParameters().size() > 0) { final String propName = getPropertyName(); Expression otherPropNameExpr = (Expression) other.getParameters() .get(0); final String otherPropName = getPropertyName(otherPropNameExpr); return Utilities.equals(propName, otherPropName); } else { return true; } } PropertyExistsFunction(); int getArgCount(); Object evaluate(SimpleFeature feature); Object evaluate(Object bean); String toString(); boolean equals(Object obj);  }### Answer:
@Test public void testEquals() { FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); PropertyExistsFunction actual = new PropertyExistsFunction(); f.setParameters(Collections.singletonList(ff.property("testPropName"))); actual.setParameters(Collections.singletonList(ff .property("testPropName"))); Assert.assertEquals(f, actual); }