@Override
    public Predicate negate() {
        return predicate;
    }
@Test
    public void negate_thenReturnInnerPredicate() {
        Predicate inner = mock(Predicate.class);
        NotPredicate notPredicate = new NotPredicate(inner);
        Predicate negate = notPredicate.negate();

        assertThat(negate).isSameAs(inner);
    }