Package org.perl6.metamodel.tests

Source Code of org.perl6.metamodel.tests.DispatcherTest

package org.perl6.metamodel.tests;

import java.util.*;
import junit.framework.*;

import org.perl6.metamodel.MetaClass;
import org.perl6.metamodel.metaclass.Dispatcher;

public class DispatcherTest extends TestCase {

       
    public static void main (String[] args) {
        junit.textui.TestRunner.run(suite());
    }

    public static Test suite() {
        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);
        assertEquals(dispatcher.next(), c);
        assertEquals(dispatcher.next(), a);
   
    }
}
TOP

Related Classes of org.perl6.metamodel.tests.DispatcherTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.