Package org.andromda.metafacades.uml

Source Code of org.andromda.metafacades.uml.TypeMappingsTest

package org.andromda.metafacades.uml;

import junit.framework.TestCase;
import org.andromda.core.mapping.Mapping;
import org.andromda.core.mapping.Mappings;

/**
* Tests {@link org.andromda.metafacades.uml.TypeMappings)
*
* @author Chad Brandon
*/
public class TypeMappingsTest
        extends TestCase
{
    /**
     * Constructor for MappingsTest.
     *
     * @param name
     */
    public TypeMappingsTest(String name)
    {
        super(name);
    }

    private static final String TO_1 = "base64Binary";

    private static final String FROM_1 = "datatype.Blob";

    private static final String FROM_2 = "datatype.byte[]";

    private static final String FROM_3 = "datatype.Byte[]";

    private static final String FROM_4 = "datatype.Clob";

    private static final String TO_2 = "java.lang.String";

    private static final String FROM_5 = "datatype.String";

    private static final String NOT_MAPPED_1 = "datatype.byte";

    private static final String NOT_MAPPED_2 = "datatype.String[]";

    private static final String ARRAY_SUFFIX = "[]";

    private static final String TO_3 = "Class<? extends ToType>";

    private static final String FROM_6 = "Class<? extends FromType>";

    public void testGetTo()
    {
        Mappings mappings1 = new Mappings();
        Mapping mapping1 = new Mapping();
        mapping1.setTo(TO_1);
        mapping1.addFrom(FROM_1);
        mapping1.addFrom(FROM_2);
        mapping1.addFrom(FROM_3);
        mapping1.addFrom(FROM_4);
        mappings1.addMapping(mapping1);
        TypeMappings typeMappings1 = TypeMappings.getInstance(mappings1);

        // make sure the to == from when passing in a mappings1 that don't exist
        assertNotNull(typeMappings1.getTo(NOT_MAPPED_1));
        assertEquals(NOT_MAPPED_1, typeMappings1.getTo(NOT_MAPPED_1));
        assertEquals(typeMappings1.getTo(NOT_MAPPED_2), typeMappings1.getTo(NOT_MAPPED_2));

        // make sure we can retrieve the to using a from array.
        assertNotNull(typeMappings1.getTo(FROM_1));
        assertEquals(TO_1, typeMappings1.getTo(FROM_1));

        // make sure we can retrieve the to using a from non array.
        assertEquals(TO_1, typeMappings1.getTo(FROM_4));

        Mappings mappings2 = new Mappings();
        Mapping mapping2 = new Mapping();
        mapping2.setTo(TO_2);
        mapping2.addFrom(FROM_5);
        mappings2.addMapping(mapping2);
        TypeMappings typeMappings2 = TypeMappings.getInstance(mappings2);
        typeMappings2.setArraySuffix(ARRAY_SUFFIX);

        assertEquals(TO_2, typeMappings2.getTo(FROM_5));
        assertEquals(TO_2 + ARRAY_SUFFIX, typeMappings2.getTo(FROM_5 + ARRAY_SUFFIX));

        Mappings mappings3 = new Mappings();
        Mapping mapping3 = new Mapping();
        mapping3.setTo(TO_3);
        mapping3.addFrom(FROM_6);
        mappings3.addMapping(mapping3);
        TypeMappings typeMappings3 = TypeMappings.getInstance(mappings3);
        // make sure whitespace isn't deleted, only trimmed (Java generics would fail compilation otherwise for example)
        assertEquals(
            TO_3,
            typeMappings3.getTo(FROM_6));
    }
}
TOP

Related Classes of org.andromda.metafacades.uml.TypeMappingsTest

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.