25 lines
921 B
Java
25 lines
921 B
Java
package jmri.util.junit.annotations;
|
|
|
|
import org.junit.jupiter.api.extension.ConditionEvaluationResult;
|
|
import org.junit.jupiter.api.extension.ExecutionCondition;
|
|
import org.junit.jupiter.api.extension.ExtensionContext;
|
|
|
|
/**
|
|
* Disables JUnit5 Tests with the @NotApplicable annotation.
|
|
* @author Steve Young Copyright 2024
|
|
*/
|
|
public class NotApplicableExecutionCondition implements ExecutionCondition {
|
|
|
|
private static final ConditionEvaluationResult ENABLED_BY_DEFAULT =
|
|
ConditionEvaluationResult.enabled("@NotApplicable is not present");
|
|
|
|
@Override
|
|
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
|
|
return context.getElement()
|
|
.map(el -> el.getAnnotation(NotApplicable.class))
|
|
.map(disabled -> ConditionEvaluationResult.disabled("Test is Not Applicable: " + disabled.value()))
|
|
.orElse(ENABLED_BY_DEFAULT);
|
|
}
|
|
|
|
}
|