### Question:
MappedFieldMetaData { @Override public int hashCode() { return this.field.hashCode(); } MappedFieldMetaData(Field field, Class<?> modelType); Object getLazyLoadingProxy(Callable<?> valueFactory); Field getField(); boolean isReference(); boolean isAppendPathPresentOnReference(); String getAppendPathOnReference(); boolean isThisReference(); ResourcePaths.ResourcePath getPath(); Class<?> getType(); boolean isPathAnnotationPresent(); boolean isPropertyType(); boolean isCollectionType(); boolean isInstantiableCollectionType(); boolean isChildrenAnnotationPresent(); boolean isResolveBelowEveryChildPathPresentOnChildren(); String getResolveBelowEveryChildPathOnChildren(); Class<?> getTypeParameter(); Class<?> getArrayTypeOfTypeParameter(); Annotations getAnnotations(); boolean isLazy(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test public void testHashCodeAndEquals() { Field field1 = findField(this.modelType, "stringField"); Field field2 = findField(this.modelType, "dateField"); MappedFieldMetaData one = new MappedFieldMetaData(field1, this.modelType); MappedFieldMetaData two = new MappedFieldMetaData(field1, this.modelType); assertThat(one.hashCode()).isEqualTo(two.hashCode()); assertThat(one).isEqualTo(two); assertThat(two).isEqualTo(one); two = new MappedFieldMetaData(field2, this.modelType); assertThat(one.hashCode()).isNotEqualTo(two.hashCode()); assertThat(one).isNotEqualTo(two); assertThat(two).isNotEqualTo(one); }