package com.github.vbauer.jconditions.core.junit;
import com.github.vbauer.jconditions.core.ConditionChecker;
import com.github.vbauer.jconditions.core.ConditionCheckerEngine;
import org.junit.rules.MethodRule;
import org.junit.runners.model.FrameworkMethod;
import org.junit.runners.model.Statement;
/**
* @see MethodRule
* @author Vladislav Bauer
*/
public class ConditionRule implements MethodRule {
/**
* {@inheritDoc}
*/
@Override
public Statement apply(
final Statement base, final FrameworkMethod method, final Object target
) {
final ConditionChecker<?> checker =
ConditionCheckerEngine.detectFailedChecker(target, method);
if (checker != null) {
return new IgnoreStatement(checker);
}
return base;
}
}