### Question:
Conditions { public static Condition onPropertyTrue(final String property) { return OnPropertyCondition.ofTypeBoolean(property, opt -> opt.orElse(false)); }  static Condition compose(final List<? extends Condition> conditions); static Condition compose(final Condition ...conditions); static Condition any(final List<? extends Condition> conditions); static Condition any(final Condition ...conditions); static Condition onPropertyExist(final String property); static Condition onPropertyMissing(final String property); static Condition onPropertyEquals(final String property, final String value); static Condition onPropertyNotEquals(final String property, final String value); static Condition onPropertyMatches(final String property, final String pattern); static Condition onPropertyTrue(final String property); static Condition onComponents(final List<Class> types); static Condition onMissingComponent(final List<Class> types); static List<Condition> buildConditionsForAnnotations(final List<ConditionalOn> annotations);  }### Answer:
@Test public void shouldReturnTrueWhenConditionOnPropertyTrueGivenMatchingContext() { Assertions.assertTrue(Conditions .onPropertyTrue("props") .matches(contextWith(Conf.of("props", "yes"))) ); }
@Test public void shouldReturnFalseWhenConditionOnPropertyTrueGivenMatchingContext() { Assertions.assertFalse(Conditions .onPropertyTrue("props") .matches(contextWith(Conf.empty())) ); }