@Test
public void test_getAllDeclaredMethodsFromSubClass() {

    List<Method> methods = getAllDeclaredMethods(SubClassToExamine.class);
    assertEquals(20, methods.size());
    methods.removeAll(getAllDeclaredMethods(Object.class));
    assertEquals(8, methods.size());
    Collections.sort(methods, new MethodByNameComparator());
    assertEquals("getDataFromBase", methods.get(0).getName());
    assertEquals("getDataFromSub", methods.get(1).getName());
    assertEquals("onValueChangedBase", methods.get(2).getName());
    assertEquals("onValueChangedSub", methods.get(3).getName());
    assertEquals("setFooBar", methods.get(4).getName());
    assertEquals("setFooBar", methods.get(5).getName());
    assertEquals("setFooBar", methods.get(6).getName());
    assertEquals("setFooBar", methods.get(7).getName());
}