1b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot/** 2b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * 3b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot */ 4b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotpackage org.junit.internal.runners.statements; 5b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 6b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotimport java.util.List; 7b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 8b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotimport org.junit.runners.model.FrameworkMethod; 9b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotimport org.junit.runners.model.Statement; 10b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 11b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotpublic class RunBefores extends Statement { 12b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot private final Statement fNext; 13b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 14b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot private final Object fTarget; 15b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 16b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot private final List<FrameworkMethod> fBefores; 17b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 18b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot public RunBefores(Statement next, List<FrameworkMethod> befores, Object target) { 19b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot fNext= next; 20b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot fBefores= befores; 21b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot fTarget= target; 22b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot } 23b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 24b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot @Override 25b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot public void evaluate() throws Throwable { 26b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot for (FrameworkMethod before : fBefores) 27b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot before.invokeExplosively(fTarget); 28b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot fNext.evaluate(); 29b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot } 30b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot}