@Test public void testAllAndAny() { Assert.assertEquals(CollectionFunctionals.all(Predicates.equalTo(1)).apply( MutableList.of(1, 1, 1)), true); Assert.assertEquals(CollectionFunctionals.all(Predicates.equalTo(1)).apply( MutableList.<Integer>of()), true); Assert.assertEquals(CollectionFunctionals.all(Predicates.equalTo(1)).apply( MutableList.of(1, 0, 1)), false); Assert.assertEquals(CollectionFunctionals.all(Predicates.equalTo(1)).apply( MutableList.of(0, 0, 0)), false); Assert.assertEquals(CollectionFunctionals.any(Predicates.equalTo(1)).apply( MutableList.of(1, 1, 1)), true); Assert.assertEquals(CollectionFunctionals.any(Predicates.equalTo(1)).apply( MutableList.<Integer>of()), false); Assert.assertEquals(CollectionFunctionals.any(Predicates.equalTo(1)).apply( MutableList.of(1, 0, 1)), true); Assert.assertEquals(CollectionFunctionals.any(Predicates.equalTo(1)).apply( MutableList.of(0, 0, 0)), false); }
/** as {@link #testingAttributeEventually(Entity, AttributeSensor, Predicate, Duration) for multiple entities */ public static <T> Task<Boolean> testingAttributeEventually(Iterable<Entity> entities, AttributeSensor<T> sensor, Predicate<T> condition, Duration timeout) { return DependentConfiguration.builder().attributeWhenReadyFromMultiple(entities, sensor, condition) .postProcess(Functions.constant(true)) .timeout(timeout) .onTimeoutReturn(false) .onUnmanagedReturn(false) .postProcessFromMultiple(CollectionFunctionals.all(Predicates.equalTo(true))) .build(); }
/** as {@link #requiringAttributeEventually(Entity, AttributeSensor, Predicate, Duration) for multiple entities */ public static <T> Task<Boolean> requiringAttributeEventually(Iterable<Entity> entities, AttributeSensor<T> sensor, Predicate<T> condition, Duration timeout) { return DependentConfiguration.builder().attributeWhenReadyFromMultiple(entities, sensor, condition) .postProcess(Functions.constant(true)) .timeout(timeout) .onTimeoutThrow() .onUnmanagedThrow() .postProcessFromMultiple(CollectionFunctionals.all(Predicates.equalTo(true))) .build(); }