@Test
public void testFindAnnotatedMethodsShouldNotShadowedMethodsHavingAnnotation() {

    // Given:
    final List<Class<?>> locations = Collections.<Class<?>>singletonList(ShadowingTestChild.class);
    // When:
    List<Method> result = underTest.findAnnotatedMethods(locations, TestAnnotation.class);
    // Then:
    // @formatter:off
    assertThat(result).hasSize(7)
            .has(name("privateWithAnnotation"), atIndex(0))
            .has(name("notShadowedDueToParameterLength"), atIndex(1))
            .has(name("notShadowedDueToParameterTypes"), atIndex(2))
            .has(name("shadowed"), atIndex(3))
            .has(name("notShadowedDueToParameterLength"), atIndex(4))
            .has(name("notShadowedDueToParameterTypes"), atIndex(5))
            .has(name("shadowedButChildHasNoAnnotation"), atIndex(6))
        ;
    // @formatter:on
}