### Question:
AtLeastOneElementConditions extends AbstractFluentListConditions { @Override public AtLeastOneElementConditions not() { AtLeastOneElementConditions negatedConditions = new AtLeastOneElementConditions(getElements()); negatedConditions.setNegation(!isNegation()); return negatedConditions; } AtLeastOneElementConditions(List<? extends FluentWebElement> elements); @Override AtLeastOneElementConditions not(); @Override boolean verify(Predicate<FluentWebElement> predicate, boolean defaultValue);  }### Answer:
@Test public void present() { assertThat(conditions.present()).isTrue(); assertThat(conditions.not().present()).isFalse(); AtLeastOneElementConditions emptyConditions = new AtLeastOneElementConditions(Collections.emptyList()); assertThat(emptyConditions.present()).isFalse(); assertThat(emptyConditions.not().present()).isTrue(); }
@Test public void hasSize() { assertThat(conditions.size(3)).isTrue(); assertThat(conditions.size().equalTo(3)).isTrue(); assertThat(conditions.size(2)).isFalse(); assertThat(conditions.size().equalTo(2)).isFalse(); assertThat(conditions.not().size(3)).isFalse(); assertThat(conditions.not().size().equalTo(3)).isFalse(); assertThat(conditions.not().size(2)).isTrue(); assertThat(conditions.not().size().equalTo(2)).isTrue(); AtLeastOneElementConditions conditions2 = new AtLeastOneElementConditions( Arrays.asList(fluentWebElement1, fluentWebElement3)); assertThat(conditions2.size(3)).isFalse(); assertThat(conditions2.size().equalTo(3)).isFalse(); assertThat(conditions2.size(2)).isTrue(); assertThat(conditions2.size().equalTo(2)).isTrue(); }