
com.github.dakusui.thincrest.TestFluents Maven / Gradle / Ivy
package com.github.dakusui.thincrest;
import com.github.dakusui.pcond.fluent.Fluents;
import com.github.dakusui.pcond.fluent.Statement;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
import static java.util.stream.Collectors.toList;
public enum TestFluents {
;
/**
* Fluent version of {@link TestAssertions#assertThat(Object, Predicate)}.
*
* @param statement A statement to be verified
* @param The type of the value to be verified which a given statement holds.
*/
public static void assertStatement(Statement statement) {
TestAssertions.assertThat(statement.statementValue(), statement.statementPredicate());
}
/**
* Fluent version of {@link TestAssertions#assertThat(Object, Predicate)}.
* Use this method when you need to verify multiple values.
*
* You can use {@link TestFluents#assertStatement(Statement)}, if you have only one statement to be verified, for readability's sake.
*
* @param statements Statements to be verified
* @see TestFluents#assertStatement(Statement)
*/
public static void assertAll(Statement>... statements) {
List> values = Arrays.stream(statements).map(Statement::statementValue).collect(toList());
TestAssertions.assertThat(Fluents.DummyList.fromList(values), Fluents.createPredicateForAllOf(statements));
}
/**
* Fluent version of {@link TestAssertions#assumeThat(Object, Predicate)}.
*
* @param statement A statement to be verified
*/
public static void assumeStatement(Statement statement) {
TestAssertions.assumeThat(statement.statementValue(), statement.statementPredicate());
}
/**
* Fluent version of {@link TestAssertions#assumeThat(Object, Predicate)}.
* Use this method when you need to verify multiple values.
*
* You can use {@link TestFluents#assumeStatement(Statement)}}, if you have only one statement to be verified, for readability's sake.
*
* @param statements Statements to be verified
* @see TestFluents#assumeStatement(Statement)
*/
public static void assumeAll(Statement>... statements) {
List> values = Arrays.stream(statements).map(Statement::statementValue).collect(toList());
TestAssertions.assumeThat(values, Fluents.createPredicateForAllOf(statements));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy