1 package net.sf.twip;
2
3 import org.junit.runners.model.*;
4
5 /**
6 * Allows to wrap a JUnit- {@link Statement} {@link #wrapInner(FrameworkMethod, Object, Statement)
7 * before} or {@link #wrapOuter(FrameworkMethod, Object, Statement) after} the execution of other
8 * setup code.
9 *
10 * @see TwipExtensions
11 */
12 public abstract class TwipExtension {
13
14 /**
15 * Decorate a JUnit {@link Statement} into a new one and thereby extend the functionality of
16 * JUnit. Your Statement is executed directly around the method call itself.
17 *
18 * @param method
19 * The test method that is to be called.
20 * @param testInstance
21 * The test instance on which the method is called.
22 * @param statement
23 * The {@link Statement} that you can wrap.
24 * @return a new {@link Statement} wrapping the one passed in; or directly that, if you choose
25 * not to wrap anything.
26 */
27 public Statement wrapInner(FrameworkMethod method, Object testInstance, Statement statement) {
28 return statement;
29 }
30
31 /**
32 * Decorate a JUnit {@link Statement} into a new one and thereby extend the functionality of
33 * JUnit. Your Statement is executed around all the other setups/teardowns.
34 *
35 * @param method
36 * The test method that is to be called.
37 * @param testInstance
38 * The test instance on which the method is called.
39 * @param statement
40 * The {@link Statement} that you can wrap.
41 * @return a new {@link Statement} wrapping the one passed in; or directly that, if you choose
42 * not to wrap anything.
43 */
44 public Statement wrapOuter(FrameworkMethod method, Object testInstance, Statement statement) {
45 return statement;
46 }
47 }