Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bcdd11c5a3 | ||
|
|
19f638e091 |
@@ -0,0 +1,26 @@
|
||||
package space.kklochko.simple_jbdd.tests.loaders;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Set;
|
||||
|
||||
public class ClassLoader<T> {
|
||||
|
||||
AbstractNameClassLoader nameLoader;
|
||||
|
||||
public ClassLoader(AbstractNameClassLoader nameLoader) {
|
||||
this.nameLoader = nameLoader;
|
||||
}
|
||||
|
||||
public ArrayList<T> load() {
|
||||
Set<Class<?>> names = nameLoader.load();
|
||||
ArrayList<T> classes = new ArrayList<>();
|
||||
|
||||
for(Class<?> name : names) {
|
||||
SingleClassLoader loader = new SingleClassLoader(name.getName());
|
||||
classes.add((T) loader.load());
|
||||
}
|
||||
|
||||
return classes;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ import spock.lang.Title
|
||||
@Narrative("""The factory must generate a test command, so
|
||||
those tests check if factory generate them right.
|
||||
""")
|
||||
@Title("Unit test for TestCommandFactory")
|
||||
@Title("Unit tests for TestCommandFactory")
|
||||
class TestCommandFactorySpec extends Specification {
|
||||
def "If the map of methods have one test block."() {
|
||||
given: "I have a TestCommandFactory object"
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package space.kklochko.simple_jbdd.tests.loaders
|
||||
|
||||
import spock.lang.Narrative
|
||||
import spock.lang.Specification
|
||||
import spock.lang.Subject
|
||||
import spock.lang.Title
|
||||
|
||||
@Narrative("""The loader must return a test classes or null, so
|
||||
those tests check if responses are right.
|
||||
""")
|
||||
@Title("Integrated tests for ClassLoader.")
|
||||
class IntegratedClassLoader extends Specification {
|
||||
def "The classes have been loaded."() {
|
||||
given: "I have a name class loader"
|
||||
def nameLoader = new NameClassLoader()
|
||||
|
||||
and: "I have a loader for classes"
|
||||
@Subject
|
||||
def loader = new ClassLoader(nameLoader)
|
||||
|
||||
when: "The classes were loaded"
|
||||
def classes = loader.load()
|
||||
|
||||
then: "Checking that the test result is expected"
|
||||
3 == classes.size()
|
||||
}
|
||||
|
||||
def "The classes must be represent the Test interface."() {
|
||||
given: "I have a name class loader"
|
||||
def nameLoader = new NameClassLoader()
|
||||
|
||||
and: "I have a loader for classes"
|
||||
@Subject
|
||||
def loader = new ClassLoader(nameLoader)
|
||||
|
||||
when: "The classes were loaded"
|
||||
def classes = loader.load()
|
||||
|
||||
then: "Checking that the test result is expected"
|
||||
classes.every({ space.kklochko.simple_jbdd.tests.Test.class.isAssignableFrom(it) })
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -10,12 +10,12 @@ those tests check if responses are right.
|
||||
""")
|
||||
@Title("Integrated tests for NameClassLoader.")
|
||||
class IntegratedNameClassLoader extends Specification {
|
||||
def "The class has been run."() {
|
||||
def "The class names have been loaded."() {
|
||||
given: "I have a class loader"
|
||||
@Subject
|
||||
def loader = new NameClassLoader();
|
||||
def loader = new NameClassLoader()
|
||||
|
||||
when: "The class names ware loaded"
|
||||
when: "The class names were loaded"
|
||||
def classNames = loader.load()
|
||||
|
||||
then: "Checking that the test result is expected"
|
||||
|
||||
+2
-2
@@ -11,10 +11,10 @@ those tests check if responses are right.
|
||||
""")
|
||||
@Title("Integrated tests for ClassLoader.")
|
||||
class IntegratedSingleClassLoader extends Specification {
|
||||
def "The class has been run."() {
|
||||
def "The class has been loaded."() {
|
||||
given: "I have a class loader"
|
||||
@Subject
|
||||
def loader = new SingleClassLoader(className);
|
||||
def loader = new SingleClassLoader(className)
|
||||
|
||||
when: "The class was loaded"
|
||||
def aClass = loader.load()
|
||||
|
||||
Reference in New Issue
Block a user