parent
71f30a43e9
commit
8b7ba5f18b
@ -0,0 +1,32 @@
|
||||
package space.kklochko.simple_jbdd.tests.factories.validators;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
||||
public class EmptyValidator extends Validator {
|
||||
private boolean isInvalid;
|
||||
|
||||
@Override
|
||||
public boolean validate(Map<String, ArrayList<Method>> methods) {
|
||||
isInvalid = (methods.size() == 0);
|
||||
return isInvalid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorType() {
|
||||
if(!isInvalid)
|
||||
return "ok";
|
||||
|
||||
return "Error";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
if(!isInvalid)
|
||||
return "ok";
|
||||
|
||||
return "ERROR!!! No blocks!!!";
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,19 @@
|
||||
package space.kklochko.simple_jbdd.tests.factories.validators;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class HasMethodsWithArgumentsValidator extends MethodValidator {
|
||||
@Override
|
||||
protected boolean isMethodInvalid(Method method) {
|
||||
return method.getParameterCount() != 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
if(!isInvalid)
|
||||
return "ok";
|
||||
|
||||
return String.format("ERROR!!! Methods must have no arguments!!! Check methods: %s!!!", getMethodListAsString());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,19 @@
|
||||
package space.kklochko.simple_jbdd.tests.factories.validators;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class HasNonVoidMethodsValidator extends MethodValidator {
|
||||
@Override
|
||||
protected boolean isMethodInvalid(Method method) {
|
||||
return !method.getReturnType().equals(void.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
if(!isInvalid)
|
||||
return "ok";
|
||||
|
||||
return String.format("ERROR!!! Methods must have the void type!!! Check methods: %s!!!", getMethodListAsString());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,20 @@
|
||||
package space.kklochko.simple_jbdd.tests.factories.validators;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
|
||||
public class HasPrivateMethodsValidator extends MethodValidator {
|
||||
@Override
|
||||
protected boolean isMethodInvalid(Method method) {
|
||||
return !Modifier.isPublic(method.getModifiers());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
if(!isInvalid)
|
||||
return "ok";
|
||||
|
||||
return String.format("ERROR!!! Methods must be public!!! Check method: %s!!!", getMethodListAsString());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,48 @@
|
||||
package space.kklochko.simple_jbdd.tests.factories.validators;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
abstract public class MethodValidator extends Validator{
|
||||
protected boolean isInvalid;
|
||||
|
||||
protected ArrayList<Method> invalidMethods;
|
||||
|
||||
protected String getMethodListAsString() {
|
||||
return invalidMethods.stream()
|
||||
.map(m -> m.getName())
|
||||
.collect(Collectors.joining(", "));
|
||||
}
|
||||
|
||||
abstract protected boolean isMethodInvalid(Method method);
|
||||
|
||||
@Override
|
||||
public boolean validate(Map<String, ArrayList<Method>> methods) {
|
||||
isInvalid = false;
|
||||
invalidMethods = new ArrayList<>();
|
||||
|
||||
for(var key : methods.keySet()) {
|
||||
for(var method : methods.get(key)) {
|
||||
if(isMethodInvalid(method)) {
|
||||
isInvalid = true;
|
||||
invalidMethods.add(method);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return isInvalid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorType() {
|
||||
if(!isInvalid)
|
||||
return "ok";
|
||||
|
||||
return "Error";
|
||||
}
|
||||
|
||||
abstract public String getMessage();
|
||||
}
|
||||
|
@ -0,0 +1,11 @@
|
||||
package space.kklochko.simple_jbdd.tests.factories.validators;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
||||
public abstract class Validator {
|
||||
abstract public boolean validate(Map<String, ArrayList<Method>> methods);
|
||||
abstract public String getErrorType();
|
||||
abstract public String getMessage();
|
||||
}
|
Loading…
Reference in new issue