diff options
Diffstat (limited to 'src/main/java/junitparams/internal/NonParameterisedFrameworkMethod.java')
-rw-r--r-- | src/main/java/junitparams/internal/NonParameterisedFrameworkMethod.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/junitparams/internal/NonParameterisedFrameworkMethod.java b/src/main/java/junitparams/internal/NonParameterisedFrameworkMethod.java new file mode 100644 index 0000000..0e2d297 --- /dev/null +++ b/src/main/java/junitparams/internal/NonParameterisedFrameworkMethod.java @@ -0,0 +1,45 @@ +package junitparams.internal; + +import java.lang.reflect.Method; + +import org.junit.Ignore; +import org.junit.runner.Description; +import org.junit.runner.notification.RunNotifier; +import org.junit.runners.model.FrameworkMethod; +import org.junit.runners.model.Statement; + +/** + * A {@link FrameworkMethod} that represents an unparameterized method. + */ +public class NonParameterisedFrameworkMethod + extends InvokableFrameworkMethod { + + private final boolean ignored; + + /** + * Create a non-parameterised method. + * + * @param method the test method + * @param description the description of the method + * @param ignored true if the method should be ignore, either because the method has the + * {@link Ignore} annotation, or because it is parameterised but is given no parameters. + */ + NonParameterisedFrameworkMethod(Method method, Description description, boolean ignored) { + super(method, description); + this.ignored = ignored; + } + + @Override + public Statement getInvokeStatement(Object test) { + return new InvokeNonParameterisedMethod(this, test); + } + + @Override + public void run(MethodBlockSupplier supplier, RunNotifier notifier) { + runMethodInvoker(notifier, supplier.getMethodBlock(this), getDescription()); + } + + public boolean isIgnored() { + return ignored; + } +} |