Skip to content

Commit 056fe78

Browse files
gselzerctrueden
authored andcommitted
Replace AbstractTestEnvironment with Barebones
1 parent 028d8ef commit 056fe78

58 files changed

Lines changed: 147 additions & 250 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
package org.scijava.ops.engine;
23

34
import static org.junit.Assert.assertEquals;
@@ -6,19 +7,19 @@
67

78
import java.util.ArrayList;
89
import java.util.Arrays;
10+
import java.util.Collections;
911
import java.util.Iterator;
1012
import java.util.List;
1113
import java.util.ServiceLoader;
1214

1315
import org.junit.AfterClass;
1416
import org.junit.BeforeClass;
15-
import org.scijava.Context;
16-
import org.scijava.cache.CacheService;
1717
import org.scijava.discovery.Discoverer;
1818
import org.scijava.discovery.StaticDiscoverer;
1919
import org.scijava.log2.Logger;
2020
import org.scijava.log2.StderrLogFactory;
2121
import org.scijava.ops.api.OpEnvironment;
22+
import org.scijava.ops.api.OpHistory;
2223
import org.scijava.ops.api.OpInfoGenerator;
2324
import org.scijava.ops.api.features.MatchingRoutine;
2425
import org.scijava.ops.engine.impl.DefaultOpEnvironment;
@@ -27,65 +28,68 @@
2728
import org.scijava.ops.engine.impl.OpCollectionInfoGenerator;
2829
import org.scijava.ops.engine.impl.PluginBasedClassOpInfoGenerator;
2930
import org.scijava.ops.engine.impl.TagBasedOpInfoGenerator;
31+
import org.scijava.ops.engine.matcher.impl.AdaptationMatchingRoutine;
3032
import org.scijava.ops.engine.matcher.impl.OpWrappers;
3133
import org.scijava.ops.engine.matcher.impl.RuntimeSafeMatchingRoutine;
32-
import org.scijava.parse2.Parser;
33-
import org.scijava.plugin.PluginService;
34-
import org.scijava.thread.ThreadService;
34+
import org.scijava.ops.engine.matcher.impl.SimplificationMatchingRoutine;
3535
import org.scijava.types.DefaultTypeReifier;
3636
import org.scijava.types.TypeReifier;
3737

3838
public abstract class AbstractTestEnvironment {
3939

40-
protected static Context context;
41-
protected static OpService ops;
42-
protected static PluginService plugins;
43-
protected static Logger log;
40+
protected static List<Class<? extends MatchingRoutine>> routines() {
41+
return Arrays.asList( //
42+
RuntimeSafeMatchingRoutine.class, //
43+
AdaptationMatchingRoutine.class, //
44+
SimplificationMatchingRoutine.class //
45+
);
46+
}
47+
48+
protected static List<Class<?>> opContainingClasses() {
49+
return Collections.emptyList();
50+
}
51+
52+
protected static OpEnvironment ops;
53+
protected static OpHistory history;
54+
protected static Logger logger;
55+
protected static TypeReifier types;
56+
protected static StaticDiscoverer discoverer;
4457

4558
@BeforeClass
4659
public static void setUp() {
47-
context = new Context(OpService.class, CacheService.class, ThreadService.class, Parser.class, PluginService.class);
48-
ops = context.getService(OpService.class);
49-
plugins = context.getService(PluginService.class);
50-
log = new StderrLogFactory().create();
60+
logger = new StderrLogFactory().create();
61+
types = new DefaultTypeReifier(logger, Discoverer.using(
62+
ServiceLoader::load));
63+
ops = barebonesEnvironment(routines(), opContainingClasses());
5164
}
5265

5366
@AfterClass
5467
public static void tearDown() {
55-
context.dispose();
56-
context = null;
57-
plugins = null;
58-
log = null;
59-
}
60-
61-
protected static OpEnvironment barebonesEnvironment(Class<?>... opClasses) {
62-
List<Class<? extends MatchingRoutine>> routines = Arrays.asList(RuntimeSafeMatchingRoutine.class);
63-
return barebonesEnvironment(routines, opClasses);
68+
ops = null;
69+
logger = null;
6470
}
6571

66-
protected static OpEnvironment barebonesEnvironment(List<Class<? extends MatchingRoutine>> routines, Class<?>... opClasses) {
67-
return barebonesEnvironment(routines, Arrays.asList(opClasses));
68-
}
69-
70-
protected static OpEnvironment barebonesEnvironment(List<Class<? extends MatchingRoutine>> routines, List<Class<?>> opClasses) {
71-
TypeReifier t = new DefaultTypeReifier(log, Discoverer.using(ServiceLoader::load));
72-
StaticDiscoverer d = new StaticDiscoverer();
73-
d.registerAll(routines, "matchingroutine");
74-
d.registerAll(OpWrappers.class.getDeclaredClasses(), "opwrapper");
75-
d.registerAll(opClasses, "");
72+
protected static OpEnvironment barebonesEnvironment(
73+
List<Class<? extends MatchingRoutine>> routines, List<Class<?>> opClasses)
74+
{
75+
// register needed classes in StaticDiscoverer
76+
discoverer = new StaticDiscoverer();
77+
discoverer.registerAll(routines, "matchingroutine");
78+
discoverer.registerAll(OpWrappers.class.getDeclaredClasses(), "opwrapper");
79+
discoverer.registerAll(opClasses, "");
80+
// register possibly useful OpInfoGenerators
7681
List<OpInfoGenerator> generators = new ArrayList<>();
77-
generators.add( new OpCollectionInfoGenerator(log, d));
78-
generators.add( new OpClassBasedClassOpInfoGenerator(log, d));
79-
generators.add( new PluginBasedClassOpInfoGenerator(log, d));
80-
generators.add( new TagBasedOpInfoGenerator(log, d));
81-
82-
return new DefaultOpEnvironment(t, log, new DefaultOpHistory(), generators, d);
83-
}
82+
generators.add(new OpCollectionInfoGenerator(logger, discoverer));
83+
generators.add(new OpClassBasedClassOpInfoGenerator(logger, discoverer));
84+
generators.add(new PluginBasedClassOpInfoGenerator(logger, discoverer));
85+
generators.add(new TagBasedOpInfoGenerator(logger, discoverer));
8486

85-
protected static OpEnvironment fullEnvironment() {
86-
return context.getService(OpService.class).env();
87+
history = new DefaultOpHistory();
88+
// return Op Environment
89+
return new DefaultOpEnvironment(types, logger, history,
90+
generators, discoverer);
8791
}
88-
92+
8993
protected static boolean arrayEquals(double[] arr1, Double... arr2) {
9094
return Arrays.deepEquals(Arrays.stream(arr1).boxed().toArray(Double[]::new), arr2);
9195
}
@@ -101,4 +105,5 @@ protected static <T> void assertIterationsEqual(final Iterable<T> expected,
101105
}
102106
assertFalse("More elements than expected", a.hasNext());
103107
}
108+
104109
}

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/BarebonesTestEnvironment.java

Lines changed: 0 additions & 109 deletions
This file was deleted.

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/InfoChainTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
*
2323
* @author Gabriel Selzer
2424
*/
25-
public class InfoChainTest extends BarebonesTestEnvironment implements OpCollection {
25+
public class InfoChainTest extends AbstractTestEnvironment implements OpCollection {
2626

2727
@BeforeClass
2828
public static void addNeededOps() {

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/JavadocParameterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
*
3131
* @author Gabriel Selzer
3232
*/
33-
public class JavadocParameterTest extends BarebonesTestEnvironment implements OpCollection {
33+
public class JavadocParameterTest extends AbstractTestEnvironment implements OpCollection {
3434

3535
@BeforeClass
3636
public static void addNeededOps() {

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/OpBuilderNoOutputTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* @see OpBuilderTest
2222
*/
2323
public class OpBuilderNoOutputTest<T extends Number> extends
24-
BarebonesTestEnvironment implements OpCollection
24+
AbstractTestEnvironment implements OpCollection
2525
{
2626

2727
@BeforeClass

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/OpBuilderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
* @author Curtis Rueden
8686
* @author Gabriel Selzer
8787
*/
88-
public class OpBuilderTest extends BarebonesTestEnvironment {
88+
public class OpBuilderTest extends AbstractTestEnvironment {
8989

9090
@BeforeClass
9191
public static void AddNeededOps() {

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/OpCollectionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
import org.scijava.struct.ValidityException;
3838
import org.scijava.types.Nil;
3939

40-
public class OpCollectionTest extends BarebonesTestEnvironment {
40+
public class OpCollectionTest extends AbstractTestEnvironment {
4141

4242
@BeforeClass
4343
public static void AddNeededOps() {

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/OpEnvironmentTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*
1717
* @author Gabriel Selzer
1818
*/
19-
public class OpEnvironmentTest extends BarebonesTestEnvironment {
19+
public class OpEnvironmentTest extends AbstractTestEnvironment {
2020

2121
@Test
2222
public void testClassOpification() {

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/OpMethodDependencyPositionTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
import org.scijava.ops.spi.OpField;
1515
import org.scijava.ops.spi.OpMethod;
1616

17-
public class OpMethodDependencyPositionTest extends BarebonesTestEnvironment implements OpCollection {
17+
public class OpMethodDependencyPositionTest extends AbstractTestEnvironment
18+
implements OpCollection {
1819

1920
@BeforeClass
2021
public static void addNeededOps() {

scijava/scijava-ops-engine/src/test/java/org/scijava/ops/engine/OpMethodInParentTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import org.scijava.ops.spi.Op;
1010
import org.scijava.ops.spi.OpClass;
1111

12-
public class OpMethodInParentTest extends BarebonesTestEnvironment {
12+
public class OpMethodInParentTest extends AbstractTestEnvironment {
1313

1414
@BeforeClass
1515
public static void addNeededOps() {

0 commit comments

Comments
 (0)