Not implements Predicate<Field<T>> { @Override public boolean resolve(final Field<T> field) { return !this.origin.resolve(field); } Not(final Predicate<Field<T>> origin); @Override boolean resolve(final Field<T> field);  }
@Test public void resolvesToFalseWhenPredicateIsTrue() { MatcherAssert.assertThat( new Not<>(new False<>()).resolve(new MkField<>(new Object(), new Object())), Matchers.is(true) ); }
@Test public void resolvesToTrueWhenPredicateIsFalse() { MatcherAssert.assertThat( new Not<>(new True<>()).resolve(new MkField<>(new Object(), new Object())), Matchers.is(false) ); }