• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package junitparams.internal.parameters;
2 
3 import org.junit.runners.model.FrameworkMethod;
4 
5 import junitparams.Parameters;
6 
7 class ParametersFromTestClassMethod implements ParametrizationStrategy {
8     private ParamsFromMethodCommon paramsFromMethodCommon;
9     private Class<?> testClass;
10     private Parameters annotation;
11 
ParametersFromTestClassMethod(FrameworkMethod frameworkMethod, Class<?> testClass)12     ParametersFromTestClassMethod(FrameworkMethod frameworkMethod, Class<?> testClass) {
13         paramsFromMethodCommon = new ParamsFromMethodCommon(frameworkMethod);
14         this.testClass = testClass;
15         annotation = frameworkMethod.getAnnotation(Parameters.class);
16     }
17 
18     @Override
getParameters()19     public Object[] getParameters() {
20         return paramsFromMethodCommon.paramsFromMethod(testClass);
21     }
22 
23     @Override
isApplicable()24     public boolean isApplicable() {
25         return annotation != null
26                && annotation.source().isAssignableFrom(Void.class)
27                && (!annotation.method().isEmpty() || paramsFromMethodCommon.containsDefaultParametersProvidingMethod(testClass));
28     }
29 }
30