public function testConcreteClassBottomUpLoop() { $classes = array(); TLO::concreteClassBottomUpLoop('Test1', 'TLO', function ($c) use(&$classes) { $classes[] = $c; }); $this->assertEqual($classes, array('Test1')); $classes = array(); TLO::concreteClassBottomUpLoop('Test2', 'TLO', function ($c) use(&$classes) { $classes[] = $c; }); $this->assertEqual($classes, array()); $classes = array(); TLO::concreteClassBottomUpLoop('Test3', 'TLO', function ($c) use(&$classes) { $classes[] = $c; }); $this->assertEqual($classes, array('Test1', 'Test3')); }