AclStrategyComposer implements AclComposer<AclStrategy> { public AclStrategy or(AclStrategy lhs, AclStrategy rhs) { return new CompoundAclStrategy(lhs, rhs, StrategyOperator.OR); } AclStrategyComposer(AclStrategyComposerProvider composerProvider); AclStrategy and(AclStrategy lhs, AclStrategy rhs); AclStrategy or(AclStrategy lhs, AclStrategy rhs);  }
@Test public void test_or_strategy() { AclStrategy aOrB = aclStrategyComposer.or(containsA, containsB); Function<String, Boolean> stringTester = aOrB.handlerFor(stringTesterFeature); assertThat(stringTester.apply("A")).isTrue(); assertThat(stringTester.apply("B")).isTrue(); assertThat(stringTester.apply("C")).isFalse(); assertThat(stringTester.apply("AB")).isTrue(); assertThat(stringTester.apply("ABC")).isTrue(); assertThat(stringTester.apply("AC")).isTrue(); assertThat(stringTester.apply("BC")).isTrue(); }