Search code examples
javajunit4festassertj

How to test equality between class objects using FEST assertThat(...) method?


How to test if class objects are equal using FEST assertThat(...) method?

Example:

import static org.fest.assertions.api.Assertions.assertThat; 

@Test
public void test() throws Exception {
    assertThat(findClass()).isEqualTo(Integer.class);
}

private Class<?> findClass() {
    // logic for finding a class object
    return String.class;
}

The above does not compile. The isEqualTo method complains. Is there some other method I should use to test equality between class objects?


Solution

  • First of all you should use AssertJ; FEST is outdated by this package. But since AssertJ shares a similar syntax, the transition will be easy.

    Second, well, with AssertJ, this works out of the box... This compiles for me:

    // irrelevant code, then
        assertThat(findClass()).isEqualTo(Integer.class);
    }
    
    private Class<?> findClass()
    {
        return Integer.class;
    }
    

    So, maybe you have another problem?