From 11b1377a37119fe749c31c1fa778d5ba9baf6451 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Tue, 17 Oct 2023 22:27:05 +0300 Subject: [PATCH] Update the TestCommandFactory to have the validators. --- .../tests/factories/TestCommandFactory.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/space/kklochko/simple_jbdd/tests/factories/TestCommandFactory.java b/src/main/java/space/kklochko/simple_jbdd/tests/factories/TestCommandFactory.java index 0fef440..a00654f 100644 --- a/src/main/java/space/kklochko/simple_jbdd/tests/factories/TestCommandFactory.java +++ b/src/main/java/space/kklochko/simple_jbdd/tests/factories/TestCommandFactory.java @@ -9,6 +9,7 @@ import space.kklochko.simple_jbdd.tests.commands.AbstractTestCommand; import space.kklochko.simple_jbdd.tests.commands.SimpleTestCommand; import space.kklochko.simple_jbdd.tests.commands.decorators.BlockDecorator; import space.kklochko.simple_jbdd.tests.commands.decorators.ErrorDecorator; +import space.kklochko.simple_jbdd.tests.factories.validators.*; import java.lang.annotation.Annotation; import java.lang.reflect.Method; @@ -21,8 +22,18 @@ public class TestCommandFactory { AbstractTestCommand aTestCommand = createTest(aClass, input); - if(test_methods.size() == 0) - return new ErrorDecorator("ERROR!!! No blocks!!!", aTestCommand, "Error"); + ArrayList validators = new ArrayList<>(); + validators.add(new EmptyValidator()); + validators.add(new HasMethodsWithArgumentsValidator()); + validators.add(new HasNonVoidMethodsValidator()); + validators.add(new HasPrivateMethodsValidator()); + + for(var validator : validators) { + if(validator.validate(test_methods)) { + String name = validator.getMessage(); + return new ErrorDecorator(name, aTestCommand, validator.getErrorType()); + } + } if(test_methods.containsKey("Then")) { ArrayList thens = getMethodsInReverseOrder(test_methods, "Then");