Operations { public static <T extends IPerson> Set<T> getByAssociation(Configuration<T> configuration, Association association) { double value = association.getValue(); return getByFriendliness(configuration, value); }  static Set<T> getByFriendliness(Configuration<T> configuration, double value); static Set<T> getByAssociation(Configuration<T> configuration, Association association); static Set<T> getInFriendlinessRange(Configuration<T> configuration, double rangeLower, double rangeUpper); static Set<T> filterMatchingPersons(Configuration<T> configuration, Predicate<T> predicate); static Configuration<T> introduceNewSafe(Configuration<T> configuration, T person); static Configuration<T> halveFriendlinessValues(Configuration<T> configuration); static Configuration<T> multiplyFriendlinessValues(Configuration<T> configuration, double multiplier); static Configuration<T> multiplyFriendlinessValuesInRange(Configuration<T> configuration, double multiplier, double rangeLower, double rangeUpper);  }
@Test @DisplayName("Get by association") void getByAssociation() { assertEquals("baz", Operations.getByAssociation(configuration, Association.ENEMY).stream().findAny().get().getName()); }