class SelectionParameters {

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 97 * hash + (this.qualifyingNames != null ? this.qualifyingNames.hashCode() : 0);
        hash = 97 * hash + (this.resultType != null ? this.resultType.toString().hashCode() : 0);
        return hash;
    }

}

class SelectionParametersTest {

    private final Types typeUtils;

    @Test
    public void testHashCodeWithNullQualifyingNames() {

        TypeMirror resultType = new TestTypeMirror( "someType" );
        SelectionParameters params = new SelectionParameters( null, null, resultType, null );

        assertThat( params.hashCode() )
            .as( "QualifyingNames null hashCode" )
            .isEqualTo( 3 * 97 * 97 + "someType".hashCode() );
    }

}