@Test
@SuppressWarnings("unchecked")
public void testTypeMetadataQueryResultEqualsAndHashCode() {
Set<TypeMetadata> metadatas1 = mock(Set.class);
Set<String> missingTypes1 = mock(Set.class);
Set<TypeMetadata> metadatas2 = mock(Set.class);
Set<String> missingTypes2 = mock(Set.class);
TestCaseBuilder.newTestCase()
.addTrueCase(new TypeMetadataQueryResult(null, null), new TypeMetadataQueryResult(null, null))
.addTrueCase(new TypeMetadataQueryResult(metadatas1, null), new TypeMetadataQueryResult(metadatas1, null))
.addTrueCase(new TypeMetadataQueryResult(metadatas1, missingTypes1), new TypeMetadataQueryResult(metadatas1, missingTypes1))
.addFalseCase(new TypeMetadataQueryResult(metadatas1, null), new TypeMetadataQueryResult(null, null))
.addFalseCase(new TypeMetadataQueryResult(metadatas1, null), new TypeMetadataQueryResult(metadatas2, null))
.addFalseCase(new TypeMetadataQueryResult(metadatas1, missingTypes1), new TypeMetadataQueryResult(metadatas1, null))
.addFalseCase(new TypeMetadataQueryResult(metadatas1, missingTypes1), new TypeMetadataQueryResult(metadatas1, missingTypes2))
.addFalseCase(new TypeMetadataQueryResult(metadatas1, missingTypes1), new TypeMetadataQueryResult(metadatas2, missingTypes2))
.test();
}