return new TestSuite(DispatcherTest.class);
}
public void testDispatcher () {
MetaClass a = new MetaClass("A");
MetaClass b = new MetaClass("B");
ArrayList bsup = new ArrayList();
bsup.add(a);
b.superclasses(bsup);
MetaClass c = new MetaClass("C");
ArrayList csup = new ArrayList();
csup.add(a);
c.superclasses(csup);
MetaClass d = new MetaClass("D");
ArrayList dsup = new ArrayList();
dsup.add(b);
dsup.add(c);
d.superclasses(dsup);
Dispatcher dispatcher = d.dispatcher(":canonical");
assertEquals(dispatcher.getClass().getName(), "org.perl6.metamodel.metaclass.Dispatcher");
assertEquals(dispatcher.next(), d);
assertEquals(dispatcher.next(), b);