⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iersubtyperelationshiptest.java

📁 是高效开发JAVA的XML工具
💻 JAVA
字号:
package com.change_vision.jude.api.test.model;

import junit.framework.Test;

import com.change_vision.jude.api.inf.editor.TransactionManager;
import com.change_vision.jude.api.inf.exception.InvalidEditingException;
import com.change_vision.jude.api.inf.model.IERAttribute;
import com.change_vision.jude.api.inf.model.IEREntity;
import com.change_vision.jude.api.inf.model.IERModel;
import com.change_vision.jude.api.inf.model.IERSchema;
import com.change_vision.jude.api.inf.model.IERSubtypeRelationship;
import com.change_vision.jude.api.inf.model.INamedElement;

public class IERSubtypeRelationshipTest extends ITestCase {
    private IERSubtypeRelationship subtype0 = null;
    private IERSubtypeRelationship subtype2 = null;

    public static Test suite() {
        return suite("testModel/judeAPITest/ERAPITest.jude", IERSubtypeRelationshipTest.class);
    }

    protected void setUp() {
        IERModel erModel = (IERModel)getElement(project.getOwnedElements(), "ER_Model");
        IERSchema schema = erModel.getSchemata()[0];
        IEREntity entity5 = getEntity(schema.getEntities(), "Entity5");
        subtype0 = entity5.getChildrenSubtypeRelationships()[0];

        IEREntity entity12 = getEntity(schema.getEntities(), "Entity11");
        subtype2 = entity12.getChildrenSubtypeRelationships()[0];
    }

    private boolean contains(Object[] array, String targetName){
        for(int i = 0; i < array.length; i++){
            INamedElement element = (INamedElement) array[i];
            if(targetName.equals(((IERAttribute)element).getName())){
                return true;
            }
        }
        return false;
    }

    public void testGetLogicalName() {
        assertEquals("Subtype0", subtype0.getLogicalName());
    }

    public void testGetPhysicalName() {
        assertEquals("p_Subtype0", subtype0.getPhysicalName());
    }

    public void testGetParent() {
        assertEquals("Entity5", subtype0.getParent().getName());
    }

    public void testGetChild() {
        assertEquals("Entity7", subtype0.getChild().getName());
    }

    public void testGetDiscriminatorAttribute(){
        assertEquals("Attribute0", subtype0.getDiscriminatorAttribute().getName());
    }

    public void testIsConclusive_true(){
        assertTrue(subtype0.isConclusive());
    }

    public void testIsConclusive_false(){
        assertFalse(subtype2.isConclusive());
    }

    public void testGetSubTypeFKs(){
        IERAttribute[] fks = subtype2.getForeignKeys();
        assertTrue(contains(fks, "Attribute0"));
        assertTrue(contains(fks, "Attribute1"));
    }

    private IEREntity getEntity(IEREntity[] entities, String name){
        for(int i = 0; i < entities.length; i++) {
            if(name.equals(entities[i].getName())){
                return entities[i];
            }
        }
        return null;
    }

    public void testSetLogicalNameWithNullParameter() throws ClassNotFoundException {
        try {
        	TransactionManager.beginTransaction();
        	subtype0.setLogicalName(null);
			TransactionManager.endTransaction();
			fail();
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			assertEquals(e.getKey(), InvalidEditingException.PARAMETER_ERROR_KEY);
		}
    }

    public void testSetNoLogicalName() throws ClassNotFoundException {
        try {
        	TransactionManager.beginTransaction();
        	subtype0.setLogicalName("");
			TransactionManager.endTransaction();
			assertEquals("", subtype0.getLogicalName());
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			fail();
		}
    }

    public void testSetLogicalName() throws ClassNotFoundException {
    	try {
    		TransactionManager.beginTransaction();
    		subtype0.setLogicalName("LogicalNameSubtype0");
            TransactionManager.endTransaction();
            assertEquals("LogicalNameSubtype0", subtype0.getLogicalName());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetPhysicalNameWithNullParameter() throws ClassNotFoundException {
        try {
        	TransactionManager.beginTransaction();
        	subtype0.setPhysicalName(null);
			TransactionManager.endTransaction();
			assertEquals("", subtype0.getPhysicalName());
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			fail();
		}
    }

    public void testSetNoPhysicalName() throws ClassNotFoundException {
        try {
        	TransactionManager.beginTransaction();
        	subtype0.setPhysicalName("");
			TransactionManager.endTransaction();
			assertEquals("", subtype0.getPhysicalName());
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			fail();
		}
    }

    public void testSetPhysicalName() throws ClassNotFoundException {
    	try {
    		TransactionManager.beginTransaction();
    		subtype0.setPhysicalName("PhyicalNameSubtype0");
            TransactionManager.endTransaction();
            assertEquals("PhyicalNameSubtype0", subtype0.getPhysicalName());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetConclusive() throws ClassNotFoundException {
    	try {
    		TransactionManager.beginTransaction();
    		subtype0.setConclusive(false);
            TransactionManager.endTransaction();
            assertFalse(subtype0.isConclusive());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }

    	try {
    		TransactionManager.beginTransaction();
    		subtype0.setConclusive(true);
            TransactionManager.endTransaction();
            assertTrue(subtype0.isConclusive());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetDiscriminatorAttribute() throws ClassNotFoundException {
		try {
	        TransactionManager.beginTransaction();
	        subtype0.setDiscriminatorAttribute(null);
			TransactionManager.endTransaction();
			assertNull(subtype0.getDiscriminatorAttribute());
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			fail();
		}

		IERAttribute attribute = subtype0.getParent().getPrimaryKeys()[0];
		try {
	        TransactionManager.beginTransaction();
	        subtype0.setDiscriminatorAttribute(attribute);
			TransactionManager.endTransaction();
			assertSame(attribute, subtype0.getDiscriminatorAttribute());
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			fail();
		}

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -