@Test
    void require_that_node_equals_only_checks_first_level_components_to_inject() {
        Function<String, Node> createNodeWithInjectedNodeWithInjectedNode = indirectlyInjectedComponentId -> {
            ComponentNode targetComponent = mockComponentNode(SimpleComponent.class, "target");
            ComponentNode directlyInjectedComponent = mockComponentNode(SimpleComponent.class, "directlyInjected");
            ComponentNode indirectlyInjectedComponent = mockComponentNode(SimpleComponent.class, indirectlyInjectedComponentId);
            directlyInjectedComponent.inject(indirectlyInjectedComponent);
            targetComponent.inject(directlyInjectedComponent);

            completeNode(targetComponent);
            completeNode(directlyInjectedComponent);
            completeNode(indirectlyInjectedComponent);

            return targetComponent;
        };

        Node targetNode1 = createNodeWithInjectedNodeWithInjectedNode.apply("indirectlyInjected_1");
        Node targetNode2 = createNodeWithInjectedNodeWithInjectedNode.apply("indirectlyInjected_2");
        assertEquals(targetNode1, targetNode2);
    }
@author gjoranv
@author Tony Vaagenes
@author ollivir
container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java