@Test
public void testDifferentResultTypes() {

    List<String> qualifyingNames = Arrays.asList( "language", "german" );
    TypeMirror resultType = new TestTypeMirror( "resultType" );
    List<TypeMirror> qualifiers = new ArrayList<>();
    qualifiers.add( new TestTypeMirror( "org.mapstruct.test.SomeType" ) );
    qualifiers.add( new TestTypeMirror( "org.mapstruct.test.SomeOtherType" ) );
    SelectionParameters params = new SelectionParameters( qualifiers, qualifyingNames, resultType, typeUtils );
    List<String> qualifyingNames2 = Arrays.asList( "language", "german" );
    TypeMirror resultType2 = new TestTypeMirror( "otherResultType" );
    List<TypeMirror> qualifiers2 = new ArrayList<>();
    qualifiers2.add( new TestTypeMirror( "org.mapstruct.test.SomeType" ) );
    qualifiers2.add( new TestTypeMirror( "org.mapstruct.test.SomeOtherType" ) );
    SelectionParameters params2 = new SelectionParameters( qualifiers2, qualifyingNames2, resultType2, typeUtils );
    assertThat( params.equals( params2 ) ).as( "Different resultType" ).isFalse();
    assertThat( params2.equals( params ) ).as( "Different resultType" ).isFalse();
}