Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59d8fe7a4f | ||
|
|
c27d3eca13 | ||
|
|
1e3446a431 | ||
|
|
b1ef8dc32f |
@@ -9,6 +9,11 @@ public class TestCommandQueueFactory {
|
|||||||
private ArrayList<Test> tests;
|
private ArrayList<Test> tests;
|
||||||
private TestCommandFactory factory;
|
private TestCommandFactory factory;
|
||||||
|
|
||||||
|
public TestCommandQueueFactory(ArrayList<Test> tests) {
|
||||||
|
setTests(tests);
|
||||||
|
setFactory(new TestCommandFactory());
|
||||||
|
}
|
||||||
|
|
||||||
public TestCommandQueueFactory(ArrayList<Test> tests, TestCommandFactory factory) {
|
public TestCommandQueueFactory(ArrayList<Test> tests, TestCommandFactory factory) {
|
||||||
setTests(tests);
|
setTests(tests);
|
||||||
setFactory(factory);
|
setFactory(factory);
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package space.kklochko.simple_jbdd.tests.loaders;
|
||||||
|
|
||||||
|
import space.kklochko.simple_jbdd.tests.Test;
|
||||||
|
|
||||||
|
import java.lang.reflect.Constructor;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
|
||||||
|
public class SingleTestLoader {
|
||||||
|
String className;
|
||||||
|
|
||||||
|
public SingleTestLoader(String className) {
|
||||||
|
setClassName(className);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Test load() {
|
||||||
|
SingleClassLoader loader = new SingleClassLoader(getClassName());
|
||||||
|
Class<?> aClass = loader.load();
|
||||||
|
|
||||||
|
if(aClass == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
Constructor defaultConstructor = null;
|
||||||
|
|
||||||
|
for(Constructor constructor : aClass.getDeclaredConstructors()) {
|
||||||
|
if(constructor.getParameterCount() == 0) {
|
||||||
|
defaultConstructor = constructor;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
return (Test) defaultConstructor.newInstance();
|
||||||
|
} catch (InstantiationException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (InvocationTargetException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClassName() {
|
||||||
|
return className;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClassName(String className) {
|
||||||
|
this.className = className;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -20,15 +20,15 @@ public class CLIReporter extends AbstractReporter {
|
|||||||
int passed = count(testData, true);
|
int passed = count(testData, true);
|
||||||
int failed = count(testData, false);
|
int failed = count(testData, false);
|
||||||
|
|
||||||
System.out.printf("%s\n", center(" Tests "));
|
System.out.printf("%s\n\n", center(" Tests "));
|
||||||
printTests(testData);
|
printTests(testData);
|
||||||
|
|
||||||
if(failed != 0) {
|
if(failed != 0) {
|
||||||
System.out.printf("\n%s\n", center(" Errors "));
|
System.out.printf("%s\n\n", center(" Errors "));
|
||||||
printTests(failedTestData);
|
printTests(failedTestData);
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.printf("\n%s\n", center(" Summary "));
|
System.out.printf("%s\n", center(" Summary "));
|
||||||
System.out.print(summary(passed, failed));
|
System.out.print(summary(passed, failed));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -25,10 +25,10 @@ public class SimpleTestReportFormatter extends AbstractTestReportFormatter {
|
|||||||
|
|
||||||
for(int i=1; i<getTestMetaData().size(); ++i) {
|
for(int i=1; i<getTestMetaData().size(); ++i) {
|
||||||
AbstractMap.SimpleEntry<String, String> pair = getTestMetaData().get(i);
|
AbstractMap.SimpleEntry<String, String> pair = getTestMetaData().get(i);
|
||||||
result += String.format("\t%s %s\n", pair.getKey(), pair.getValue());
|
result += String.format("\t%s: %s\n", pair.getKey(), pair.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result + '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPassedIcon() {
|
public String getPassedIcon() {
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ import spock.lang.Title
|
|||||||
@Narrative("""The loader must return a class or null, so
|
@Narrative("""The loader must return a class or null, so
|
||||||
those tests check if responses are right.
|
those tests check if responses are right.
|
||||||
""")
|
""")
|
||||||
@Title("Integrated tests for ClassLoader.")
|
@Title("Integrated tests for SingleClassLoader.")
|
||||||
class IntegratedSingleClassLoader extends Specification {
|
class IntegratedSingleClassLoader extends Specification {
|
||||||
def "The class has been loaded."() {
|
def "The class has been loaded."() {
|
||||||
given: "I have a class loader"
|
given: "I have a class loader"
|
||||||
|
|||||||
+31
@@ -0,0 +1,31 @@
|
|||||||
|
package space.kklochko.simple_jbdd.tests.loaders
|
||||||
|
|
||||||
|
import space.kklochko.simple_jbdd.test_examples.tests.SimpleThenTest
|
||||||
|
import spock.lang.Narrative
|
||||||
|
import spock.lang.Specification
|
||||||
|
import spock.lang.Subject
|
||||||
|
import spock.lang.Title
|
||||||
|
|
||||||
|
@Narrative("""The loader must return a class or null, so
|
||||||
|
those tests check if responses are right.
|
||||||
|
""")
|
||||||
|
@Title("Integrated tests for SingleTestLoader.")
|
||||||
|
class IntegratedSingleTestLoader extends Specification {
|
||||||
|
def "The class has been loaded."() {
|
||||||
|
given: "I have a class loader"
|
||||||
|
@Subject
|
||||||
|
def loader = new SingleTestLoader(className)
|
||||||
|
|
||||||
|
when: "The class was loaded"
|
||||||
|
def aClass = loader.load()
|
||||||
|
|
||||||
|
then: "Checking that the test result is expected"
|
||||||
|
aClass?.class == expectedClass
|
||||||
|
|
||||||
|
where: "Possible variants of tests"
|
||||||
|
className || expectedClass
|
||||||
|
"fourHundredFour" || null
|
||||||
|
"space.kklochko.simple_jbdd.test_examples.tests.SimpleThenTest" || SimpleThenTest
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+4
-4
@@ -36,8 +36,8 @@ class SimpleTestReportFormatterSpec extends Specification {
|
|||||||
|
|
||||||
where: "Possible variants of tests"
|
where: "Possible variants of tests"
|
||||||
isPassed || expectedFormat
|
isPassed || expectedFormat
|
||||||
true || "✓ A simple test\n\tThen Then block\n"
|
true || "✓ A simple test\n\tThen: Then block\n\n"
|
||||||
false || "⨯ A simple test\n\tThen Then block\n"
|
false || "⨯ A simple test\n\tThen: Then block\n\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
def "If the map of methods have GivenWhenThen blocks."() {
|
def "If the map of methods have GivenWhenThen blocks."() {
|
||||||
@@ -61,8 +61,8 @@ class SimpleTestReportFormatterSpec extends Specification {
|
|||||||
|
|
||||||
where: "Possible variants of tests"
|
where: "Possible variants of tests"
|
||||||
isPassed || expectedFormat
|
isPassed || expectedFormat
|
||||||
true || "✓ A simple test\n\tGiven Given block\n\tWhen When block\n\tThen Then block\n"
|
true || "✓ A simple test\n\tGiven: Given block\n\tWhen: When block\n\tThen: Then block\n\n"
|
||||||
false || "⨯ A simple test\n\tGiven Given block\n\tWhen When block\n\tThen Then block\n"
|
false || "⨯ A simple test\n\tGiven: Given block\n\tWhen: When block\n\tThen: Then block\n\n"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user