diff options
author | gjoranv <gv@verizonmedia.com> | 2022-07-05 20:49:59 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2022-07-09 23:45:46 +0200 |
commit | a357ff19e80a414d07788d09b2c5c5d229d14a34 (patch) | |
tree | 59036b3424a8bf8fbf0a93418d63904b80f72bb8 /container-core | |
parent | 3e2a54aa37aecee0ec1c325d19f82320f2ca79dd (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.java | 20 |
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); |