aboutsummaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2022-07-05 20:49:59 +0200
committergjoranv <gv@verizonmedia.com>2022-07-11 22:59:15 +0200
commit2233c658c3f00d5375242ca13f2cb4b716024fd9 (patch)
tree218dc866bdc107bb6290cb79991fbb7c3bc258dc /container-core
parentd77c1505fbc4cf5a10a89a79c44679661b972a02 (diff)
Add test for component not using its explicitly injected component.
+ Improve existing test for explicitly injected component.
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java20
1 files changed, 18 insertions, 2 deletions
diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java b/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
index f8f567e1890..5abb96527bd 100644
--- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
+++ b/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java
@@ -102,7 +102,7 @@ public class ComponentGraphTest {
}
@Test
- public void component_can_be_injected_into_another_component() {
+ public void component_can_be_explicitly_injected_into_another_component() {
Node injectedComponent = mockComponentNode(SimpleComponent.class);
Node targetComponent = mockComponentNode(ComponentTakingComponent.class);
targetComponent.inject(injectedComponent);
@@ -117,6 +117,22 @@ public class ComponentGraphTest {
ComponentTakingComponent instance = componentGraph.getInstance(ComponentTakingComponent.class);
assertNotNull(instance);
+ assertSame(injectedComponent.instance.get(), instance.injectedComponent);
+ }
+
+ @Test
+ public void explicitly_injected_components_may_be_unused() {
+ Node notUsingInjected = mockComponentNode(SimpleComponent.class);
+ Node injectedComponent = mockComponentNode(SimpleComponent2.class);
+ notUsingInjected.inject(injectedComponent);
+
+ ComponentGraph componentGraph = new ComponentGraph();
+ componentGraph.add(injectedComponent);
+ componentGraph.add(notUsingInjected);
+ componentGraph.complete();
+
+ SimpleComponent instanceNotUsingInjected = componentGraph.getInstance(SimpleComponent.class);
+ assertNotNull(instanceNotUsingInjected);
}
@Test
@@ -514,7 +530,7 @@ public class ComponentGraphTest {
}
public static class ComponentTakingComponent extends AbstractComponent {
- private final SimpleComponent injectedComponent;
+ final SimpleComponent injectedComponent;
public ComponentTakingComponent(SimpleComponent injectedComponent) {
assertNotNull(injectedComponent);