Selector { public Selector<P, T> friends() { predicates.add(p -> p.getValue() > Standard.STANDARD_NEUTRAL); return this; } private  Selector(T configuration); static Selector<P, T> create(T configuration); Selector<P, T> friends(); Selector<P, T> enemies(); Selector<P, T> exactValue(double value); Selector<P, T> association(Association association); Set<P> selectMatchingAll(); Set<P> selectMatchingNone(); Set<P> selectMatchingAny();  }
@Test @DisplayName("Friends") void friends() { assertTrue(setHasNames( Selector.create(configuration).friends().selectMatchingAll(), "John", "Mark")); }