Selector { public Selector<P, T> association(Association association) { predicates.add(p -> p.getAssociation() == association); 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("Association") void association() { assertTrue(setHasNames( Selector.create(configuration).association(Association.NEUTRAL).selectMatchingAll(), "Alice")); }