final FrameworkMethod method, final Object test) {
try {
Arbitrary.reset();
processClassEnvironment();
// config annotation process
Configuration conf = (Configuration) this.configuration.clone();
if (method
.getAnnotation(ar.edu.unlp.yaqc4j.annotations.Configuration.class) != null) {
ar.edu.unlp.yaqc4j.annotations.Configuration conf2 = method
.getAnnotation(ar.edu.unlp.yaqc4j.annotations.Configuration.class);
if (conf.getMaxNumberOfFailedParams() == QCCheckRunner.MAX_ARGUMENTS_FAILS
&& conf2.maxArgumentsFails() != QCCheckRunner.MAX_ARGUMENTS_FAILS) {
conf.setMaxNumberOfFailedParams(conf2.maxArgumentsFails());
}
if (conf2.tests() != DEFAULT_NUMBER_OF_RUNS) {
conf.setMaxNumberOfTests(conf2.tests());
} else if (method.getMethod().getParameterTypes().length == 0){
conf.setMaxNumberOfTests(DEFAULT_NUMBER_OF_RUNS);
}
if (conf.getMaxSize() == Long.MAX_VALUE
&& conf2.maxsize() != Long.MAX_VALUE) {
conf.setMaxSize(conf2.maxsize());
}
if (conf.getMinsize() == Long.MIN_VALUE
&& conf2.minsize() != Long.MIN_VALUE) {
conf.setMinsize(conf2.minsize());
}
if (conf.getRandom().getClass()
.equals(Arbitrary.defaultDistribution().getClass())
&& conf2.distribution() != null) {
conf.setDistribution(conf2.distribution().newInstance());
}
} else {
if (method.getMethod().getParameterTypes().length == 0){
conf.setMaxNumberOfTests(1);
}
}
// custom generators in the method
Map<Class<?>, Gen<?>> generators = new HashMap<Class<?>, Gen<?>>();