summaryrefslogtreecommitdiffstats
path: root/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java')
-rw-r--r--container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
index 8d323233ef5..db150ba0599 100644
--- a/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
+++ b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
@@ -105,6 +105,17 @@ public class ComponentGraphTest {
}
@Test
+ public void interface_implementation_can_be_injected() {
+ ComponentGraph componentGraph = new ComponentGraph();
+ componentGraph.add(mockComponentNode(ComponentImpl.class));
+ componentGraph.add(mockComponentNode(ComponentTakingInterface.class));
+ componentGraph.complete();
+
+ ComponentTakingInterface instance = componentGraph.getInstance(ComponentTakingInterface.class);
+ assertTrue(instance.injected instanceof ComponentImpl);
+ }
+
+ @Test
public void all_components_of_a_type_can_be_injected() {
ComponentGraph componentGraph = new ComponentGraph();
componentGraph.add(mockComponentNode(SimpleComponent.class));
@@ -474,6 +485,15 @@ public class ComponentGraphTest {
public static class SimpleDerivedComponent extends SimpleComponent {
}
+ public interface ComponentBase { }
+ public static class ComponentImpl implements ComponentBase { }
+ public static class ComponentTakingInterface {
+ ComponentBase injected;
+ public ComponentTakingInterface(ComponentBase componentBase) {
+ injected = componentBase;
+ }
+ }
+
public static class ComponentTakingConfig extends SimpleComponent {
private final TestConfig config;