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

📄 ierattributetest.java

📁 是高效开发JAVA的XML工具
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    		attribute.setPhysicalName("PhyicalNameAttribute3");
            TransactionManager.endTransaction();
            assertEquals("PhyicalNameAttribute3", attribute.getPhysicalName());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetWithDuplicatedPhysicalName() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity0");
    	IERAttribute attribute = getERAttribute(entity, "LogicalNameAttribute2");
		try {
	        TransactionManager.beginTransaction();
	        attribute.setPhysicalName("PhyicalNameAttribute3");
			TransactionManager.endTransaction();
			fail();
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			assertEquals(e.getKey(), InvalidEditingException.NAME_DOUBLE_ERROR_KEY);
		}
    }

    public void testSetPrimaryKey() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute2");
    	try {
    		TransactionManager.beginTransaction();
    		attribute.setPrimaryKey(true);
            TransactionManager.endTransaction();
            assertTrue(attribute.isPrimaryKey());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }

    	try {
    		TransactionManager.beginTransaction();
    		attribute.setPrimaryKey(false);
            TransactionManager.endTransaction();
            assertFalse(attribute.isPrimaryKey());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetDomainWithNullParameter() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute0");
        try {
        	TransactionManager.beginTransaction();
        	attribute.setDomain(null);
			TransactionManager.endTransaction();
			fail();
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			assertEquals(e.getKey(), InvalidEditingException.PARAMETER_ERROR_KEY);
		}
    }

    public void testSetDomain() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute0");
    	IERDomain domain = schema.getDomains()[1];
    	try {
    		TransactionManager.beginTransaction();
    		attribute.setDomain(domain);
            TransactionManager.endTransaction();
            assertTrue(attribute.getDatatype() != null);
        	assertTrue(attribute.getDomain() != null);
        	assertEquals(attribute.getDomain().getName(), "Domain1");
        	assertEquals(attribute.getDomain().getDatatypeName(), "NUMERIC");
        	assertEquals(attribute.getDomain().getLengthPrecision(), "10,3");
        	assertEquals(attribute.getDomain().getDefaultValue(), "");
        	assertFalse(attribute.getDomain().isNotNull());
        	assertEquals(attribute.getDomain().getDefinition(), "");
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetDatatypeWithNullParameter() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute1");
        try {
        	TransactionManager.beginTransaction();
        	attribute.setDatatype(null);
			TransactionManager.endTransaction();
			fail();
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			assertEquals(e.getKey(), InvalidEditingException.PARAMETER_ERROR_KEY);
		}
    }

    public void testSetDatatype() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute0");
    	IERDatatype datatype = schema.getDatatypes()[5];
    	try {
    		TransactionManager.beginTransaction();
    		attribute.setDatatype(datatype);
            TransactionManager.endTransaction();
            assertTrue(attribute.getDomain() == null);
        	assertTrue(attribute.getDatatype() != null);
        	assertEquals(attribute.getDatatype().getName(), "DECIMAL");
        	assertEquals(attribute.getDatatype().getDefaultLengthPrecision(), "10");
        	assertEquals(attribute.getDatatype().getLengthConstraint(), "Optional");
        	assertEquals(attribute.getDatatype().getPrecisionConstraint(), "Required");
        	assertEquals(attribute.getDatatype().getDescription(), "");
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetLengthPresicionWithNullParameter() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute0");
        try {
        	TransactionManager.beginTransaction();
        	attribute.setLengthPrecision(null);
			TransactionManager.endTransaction();
			fail();
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			assertEquals(e.getKey(), InvalidEditingException.PARAMETER_ERROR_KEY);
		}
    }

    public void testSetLengthPresicion() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute0");
    	try {
    		TransactionManager.beginTransaction();
    		attribute.setLengthPrecision("5,5");
            TransactionManager.endTransaction();
            assertEquals(attribute.getLengthPrecision(), "5,5");
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetNotNull() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute2");
    	try {
    		TransactionManager.beginTransaction();
    		attribute.setNotNull(true);
            TransactionManager.endTransaction();
            assertTrue(attribute.isNotNull());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }

    	try {
    		TransactionManager.beginTransaction();
    		attribute.setNotNull(false);
            TransactionManager.endTransaction();
            assertFalse(attribute.isNotNull());
    	} catch (InvalidEditingException e) {
    		TransactionManager.abortTransaction();
            fail();
        }
    }

    public void testSetDefaultValueWithNullParameter() throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute0");
        try {
        	TransactionManager.beginTransaction();
        	attribute.setDefaultValue(null);
			TransactionManager.endTransaction();
			fail();
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			assertEquals(e.getKey(), InvalidEditingException.PARAMETER_ERROR_KEY);
		}
    }

    public void testSetDefaultValue(String defaultValue) throws ClassNotFoundException {
    	IEREntity entity = getEntity(schema.getEntities(), "Entity7");
    	IERAttribute attribute = getERAttribute(entity, "Attribute0");
        try {
        	TransactionManager.beginTransaction();
        	attribute.setDefaultValue("defaultvalue");
			TransactionManager.endTransaction();
			fail();
		} catch (InvalidEditingException e) {
			TransactionManager.abortTransaction();
			assertEquals(attribute.getDefaultValue(), "defaultvalue");
		}
    }

    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;
    }

    private IERAttribute getERAttribute(IEREntity entity, String attributeName){
        List attributes = new ArrayList();
        attributes.addAll(Arrays.asList(entity.getPrimaryKeys()));
        attributes.addAll(Arrays.asList(entity.getNonPrimaryKeys()));

        return getERAttribute(attributes, attributeName);
    }

    private IERAttribute getERAttribute(List attributes, String attributeName) {
        for(Iterator iter = attributes.iterator(); iter.hasNext();){
            INamedElement attribute = (INamedElement) iter.next();
            if(attributeName.equals(attribute.getName())){
                return (IERAttribute)attribute;
            }
        }
        return null;
    }

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

⌨️ 快捷键说明

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