package com.googlecode.zohhak.internal.junit; import org.junit.runners.model.FrameworkMethod; import com.googlecode.zohhak.internal.Executor; import com.googlecode.zohhak.internal.model.SingleTestMethod; public class ParametrizedFrameworkMethod extends FrameworkMethod { private final SingleTestMethod singleTestMethod; private final Executor executor; public ParametrizedFrameworkMethod(SingleTestMethod singleTestMethod, Executor executor) { super(singleTestMethod.realMethod); this.singleTestMethod = singleTestMethod; this.executor = executor; } @Override public Object invokeExplosively(Object target, Object... params) throws Throwable { Object[] parameters = executor.calculateParameters(singleTestMethod, singleTestMethod.parametersLine); return super.invokeExplosively(target, parameters); } public String getParametersLine() { return singleTestMethod.parametersLine; } }