| /******************************************************************************* |
| * Copyright (c) 2000, 2003 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Common Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/cpl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.core.tests.runtime.model; |
| import junit.framework.Test; |
| import junit.framework.TestSuite; |
| import org.eclipse.core.runtime.MultiStatus; |
| import org.eclipse.core.runtime.model.ConfigurationElementModel; |
| import org.eclipse.core.runtime.model.ConfigurationPropertyModel; |
| import org.eclipse.core.runtime.model.Factory; |
| import org.eclipse.core.tests.runtime.RuntimeTest; |
| /** |
| * Test cases for the ConfigurationElementModel class. |
| */ |
| public class ConfigurationElementModelTest extends RuntimeTest { |
| |
| /** |
| * Need a zero argument constructor to satisfy the test harness. |
| * This constructor should not do any real work nor should it be |
| * called by user code. |
| */ |
| public ConfigurationElementModelTest() { |
| super(null); |
| } |
| /** |
| * Constructor for ConfigurationElementModelTest |
| */ |
| public ConfigurationElementModelTest(String name) { |
| super(name); |
| } |
| |
| public static Test suite() { |
| TestSuite suite= new TestSuite(); |
| suite.addTest(new ConfigurationElementModelTest("testConstructor")); |
| suite.addTest(new ConfigurationElementModelTest("testIsReadOnly")); |
| suite.addTest(new ConfigurationElementModelTest("testMarkReadOnly")); |
| return suite; |
| } |
| public void testConstructor() { |
| |
| ConfigurationElementModel model = new ConfigurationElementModel(); |
| |
| assertNotNull("1.0", model); |
| |
| assertNull("2.0", model.getParent()); |
| assertNull("2.1", model.getParentExtension()); |
| assertNull("2.2", model.getProperties()); |
| assertNull("2.3", model.getSubElements()); |
| assertNull("2.4", model.getValue()); |
| assertNull("2.5", model.getName()); |
| |
| //assumes that a new-created object is not read-only |
| assertTrue("3.0", !model.isReadOnly()); |
| |
| } |
| public void testIsReadOnly() { |
| |
| assertTrue("1.0", ! new ConfigurationElementModel().isReadOnly()); |
| |
| ConfigurationElementModel model = new ConfigurationElementModel(); |
| model.markReadOnly(); |
| assertTrue("2.0", model.isReadOnly()); |
| } |
| public void testMarkReadOnly() { |
| |
| ConfigurationElementModel model = new ConfigurationElementModel(); |
| model.markReadOnly(); |
| |
| assertTrue("1.0", model.isReadOnly()); |
| |
| Factory fact = new Factory(new MultiStatus("plugin-id", 10, "", new Throwable())); |
| ConfigurationPropertyModel[] c = new ConfigurationPropertyModel[1]; |
| c[0] = fact.createConfigurationProperty(); |
| try { |
| // try to set an attribute to a read-only object |
| model.setProperties(c); |
| fail("2.0"); |
| } catch (Exception e) { |
| } |
| |
| } |
| // End of class |
| } |