dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AutoConfigTest.java [75:109]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public void testIterableField() throws Exception {
        final DependencyManager dm = getDM();
        ConsumerWithIterableField consumer = new ConsumerWithIterableField();
        Component c = createConsumer(dm, consumer);
        Component p1 = createProvider(dm, 10, new Provider() {
            public void run() { m_ensure.step(); }
            public String toString() { return "provider1"; }
        });
        Component p2 = createProvider(dm, 20, new Provider() {
            public void run() { m_ensure.step();}
            public String toString() { return "provider2"; }
        });

        dm.add(p2);
        dm.add(p1);
        dm.add(c);
        // the consumer should have been injected with all providers.
        m_ensure.waitForStep(3, 5000);
        
        // check if all providers are there
        Assert.assertNotNull(consumer.getProvider("provider1"));
        Assert.assertNotNull(consumer.getProvider("provider2"));
        
        // remove provider1
        dm.remove(p1);
        
        // check if provider1 has been removed and if provider2 is still there
        Assert.assertNull(consumer.getProvider("provider1"));
        Assert.assertNotNull(consumer.getProvider("provider2"));

        // remove provider2, the consumer should be stopped
        dm.remove(p2);
        m_ensure.waitForStep(4, 5000);
        dm.clear();
    }   
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/AutoConfigTest.java [74:108]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public void testIterableField() throws Exception {
        final DependencyManager dm = getDM();
        ConsumerWithIterableField consumer = new ConsumerWithIterableField();
        Component c = createConsumer(dm, consumer);
        Component p1 = createProvider(dm, 10, new Provider() {
            public void run() { m_ensure.step(); }
            public String toString() { return "provider1"; }
        });
        Component p2 = createProvider(dm, 20, new Provider() {
            public void run() { m_ensure.step();}
            public String toString() { return "provider2"; }
        });

        dm.add(p2);
        dm.add(p1);
        dm.add(c);
        // the consumer should have been injected with all providers.
        m_ensure.waitForStep(3, 5000);
        
        // check if all providers are there
        Assert.assertNotNull(consumer.getProvider("provider1"));
        Assert.assertNotNull(consumer.getProvider("provider2"));
        
        // remove provider1
        dm.remove(p1);
        
        // check if provider1 has been removed and if provider2 is still there
        Assert.assertNull(consumer.getProvider("provider1"));
        Assert.assertNotNull(consumer.getProvider("provider2"));

        // remove provider2, the consumer should be stopped
        dm.remove(p2);
        m_ensure.waitForStep(4, 5000);
        dm.clear();
    }   
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



