/* __ __ __ __ __ ___
* \ \ / / \ \ / / __/
* \ \/ / /\ \ \/ / /
* \____/__/ \__\____/__/.ɪᴏ
* ᶜᵒᵖʸʳᶦᵍʰᵗ ᵇʸ ᵛᵃᵛʳ ⁻ ˡᶦᶜᵉⁿˢᵉᵈ ᵘⁿᵈᵉʳ ᵗʰᵉ ᵃᵖᵃᶜʰᵉ ˡᶦᶜᵉⁿˢᵉ ᵛᵉʳˢᶦᵒⁿ ᵗʷᵒ ᵈᵒᵗ ᶻᵉʳᵒ
*/
package io.vavr.test;
import io.vavr.test.Property.Condition;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class ConditionTest {
/**
* Def: A 'Condition' is the result of {@code p => q} where {@code p} is a pre-condition and {@code q} is a post-condition.
* <p>
* The following holds: {@code p => q ≡ ¬p ∨ q}
*/
@Test
public void should() {
assertThat(cond(false, false)).isTrue();
assertThat(cond(false, true)).isTrue();
assertThat(cond(true, false)).isFalse();
assertThat(cond(true, true)).isTrue();
}
private boolean cond(boolean p, boolean q) {
return !new Condition(p, q).isFalse();
}
}