View Javadoc
1   package org.junit.tests.experimental.theories;
2   
3   import java.lang.reflect.Method;
4   import java.util.List;
5   
6   import org.junit.experimental.theories.PotentialAssignment;
7   import org.junit.experimental.theories.Theories;
8   import org.junit.experimental.theories.internal.Assignments;
9   import org.junit.runner.JUnitCore;
10  import org.junit.runner.Request;
11  import org.junit.runner.Result;
12  import org.junit.runner.Runner;
13  import org.junit.runners.model.InitializationError;
14  import org.junit.runners.model.TestClass;
15  
16  public final class TheoryTestUtils {
17      
18      private TheoryTestUtils() { }
19      
20      public static List<PotentialAssignment> potentialAssignments(Method method)
21              throws Throwable {
22          return Assignments.allUnassigned(method,
23                  new TestClass(method.getDeclaringClass()))
24                  .potentialsForNextUnassigned();
25      }
26      
27      public static Result runTheoryClass(Class<?> testClass) throws InitializationError {
28          Runner theoryRunner = new Theories(testClass);
29          Request request = Request.runner(theoryRunner);
30          return new JUnitCore().run(request);
31      }
32  
33  }