| package org.eclipse.stem.core.model.tests; |
| |
| /******************************************************************************* |
| * Copyright (c) 2006 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| //import junit.framework.TestCase; |
| |
| import junit.textui.TestRunner; |
| |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.emf.common.util.URI; |
| import org.eclipse.stem.core.STEMURI; |
| import org.eclipse.stem.core.common.DublinCore; |
| import org.eclipse.stem.core.common.tests.IdentifiableTest; |
| import org.eclipse.stem.core.graph.Graph; |
| import org.eclipse.stem.core.graph.GraphFactory; |
| import org.eclipse.stem.core.model.Decorator; |
| import org.eclipse.stem.core.model.Model; |
| import org.eclipse.stem.core.model.ModelFactory; |
| import org.eclipse.stem.core.model.STEMTime; |
| |
| /** |
| * <!-- begin-user-doc --> A test case for the model object '<em><b>Decorator</b></em>'. |
| * <!-- end-user-doc --> |
| * <p> |
| * The following operations are tested: |
| * <ul> |
| * <li>{@link org.eclipse.stem.core.model.Decorator#decorateGraph(org.eclipse.stem.core.model.STEMTime) <em>Decorate Graph</em>}</li> |
| * <li>{@link org.eclipse.stem.core.model.Decorator#updateLabels(org.eclipse.stem.core.model.STEMTime, long, int) <em>Update Labels</em>}</li> |
| * <li>{@link org.eclipse.stem.core.model.Decorator#resetLabels() <em>Reset Labels</em>}</li> |
| * <li>{@link org.eclipse.stem.core.model.Decorator#prepare(org.eclipse.stem.core.model.Model, org.eclipse.stem.core.model.STEMTime) <em>Prepare</em>}</li> |
| * </ul> |
| * </p> |
| * @generated |
| */ |
| @SuppressWarnings("all") |
| public class DecoratorTest extends IdentifiableTest { |
| |
| public static URI DECORATOR_URI = STEMURI.createURI("decorator/decoratorTest.decorator"); |
| |
| private static final String GRAPH = "graph"; |
| private static final URI CANONICAL_GRAPH_URI = STEMURI.createURI(GRAPH + "/" + "canonicalGraph"); |
| private static final String MODEL = "model"; |
| |
| public static final URI GRAPH0_URI = STEMURI.createURI(GRAPH + "/" + "g0"); |
| public static final URI MODEL0_URI = STEMURI.createURI(MODEL + "/" + "m0"); |
| public static final URI MODEL1_URI = STEMURI.createURI(MODEL + "/" + "m1"); |
| public static final URI MODEL2_URI = STEMURI.createURI(MODEL + "/" + "m2"); |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public static void main(String[] args) { |
| TestRunner.run(DecoratorTest.class); |
| } |
| |
| /** |
| * Constructs a new Decorator test case with the given name. <!-- |
| * begin-user-doc --> <!-- end-user-doc --> |
| * |
| * @generated |
| */ |
| public DecoratorTest(String name) { |
| super(name); |
| } |
| |
| /** |
| * Returns the fixture for this Decorator test case. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| protected Decorator getFixture() { |
| return (Decorator)fixture; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see junit.framework.TestCase#setUp() |
| * @generated NOT |
| */ |
| @Override |
| protected void setUp() throws Exception { |
| final Decorator d = ModelFactory.eINSTANCE.createDecorator(); |
| d.setURI(DECORATOR_URI); |
| setFixture(d); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see junit.framework.TestCase#tearDown() |
| * @generated |
| */ |
| @Override |
| protected void tearDown() throws Exception { |
| setFixture(null); |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.stem.core.model.Decorator#decorateGraph(org.eclipse.stem.core.model.STEMTime) <em>Decorate Graph</em>}' operation. |
| * <!-- begin-user-doc --> |
| * Much testing of decorators is also done in |
| * @see org.eclipse.stem.core.graph.tests.GraphTest.populateGraph() |
| * and |
| * @see org.eclipse.stem.core.graph.tests.ModelTest.getFixture() |
| * <!-- end-user-doc --> |
| * @see org.eclipse.stem.core.model.Decorator#decorateGraph(org.eclipse.stem.core.model.STEMTime) |
| * @generated NOT |
| */ |
| public void testDecorateGraph__STEMTime() { |
| // TODO this is the most basic of tests. What other tests would be generally useful for DecorateGraph? |
| final Decorator dec = getFixture(); |
| STEMTime now = ModelFactory.eINSTANCE.createSTEMTime(); |
| final Graph graph = GraphFactory.eINSTANCE.createGraph(); |
| final DublinCore dc1 = graph.getDublinCore(); |
| //final Node node = TestUtil.createStaticallyLabeledNode(); |
| //graph.putNode(node); |
| EList<Decorator> allDecorators = graph.getDecorators(); |
| int startSize = allDecorators.size(); |
| allDecorators.add(dec); |
| // This method is not implemented in the abstract... depends on the particular decorator |
| //dec.decorateGraph(now); |
| int finishSize = graph.getDecorators().size(); |
| assert(finishSize-startSize==1); |
| } |
| |
| /** |
| * @param uri |
| * the uri to use for the newly created graph |
| * @return a new graph instance |
| * @generated NOT |
| */ |
| private static Graph createGraph(URI uri) { |
| final Graph retValue = GraphFactory.eINSTANCE.createGraph(); |
| retValue.setURI(uri); |
| return retValue; |
| } // createGraph |
| |
| |
| /** |
| * @param uri |
| * the uri to use for the newly created model |
| * @return a new model instance |
| * @generated NOT |
| */ |
| private static Model createModel(URI uri) { |
| final Model retValue = ModelFactory.eINSTANCE.createModel(); |
| retValue.setURI(uri); |
| return retValue; |
| } // createModel |
| |
| |
| /** |
| * Tests the '{@link org.eclipse.stem.core.model.Decorator#updateLabels(org.eclipse.stem.core.model.STEMTime, long, int) <em>Update Labels</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.stem.core.model.Decorator#updateLabels(org.eclipse.stem.core.model.STEMTime, long, int) |
| * @generated NOT |
| */ |
| public void testUpdateLabels__STEMTime_long_int() { |
| assertTrue(true); |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.stem.core.model.Decorator#updateLabels(org.eclipse.stem.core.model.STEMTime, long) <em>Update Labels</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.stem.core.model.Decorator#updateLabels(org.eclipse.stem.core.model.STEMTime, long) |
| * @generated NOT |
| */ |
| public void testUpdateLabels__STEMTime_long() { |
| assertTrue(true); |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.stem.core.model.Decorator#resetLabels() <em>Reset Labels</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.stem.core.model.Decorator#resetLabels() |
| * @generated NOT |
| */ |
| public void testResetLabels() { |
| assertTrue(true); |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.stem.core.model.Decorator#getLabelsToUpdate(int, int) <em>Get Labels To Update</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.stem.core.model.Decorator#getLabelsToUpdate(int, int) |
| * @generated NOT |
| */ |
| public void testGetLabelsToUpdate__int_int() { |
| assertTrue(true); |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.stem.core.model.Decorator#prepare(org.eclipse.stem.core.model.Model, org.eclipse.stem.core.model.STEMTime) <em>Prepare</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.stem.core.model.Decorator#prepare(org.eclipse.stem.core.model.Model, org.eclipse.stem.core.model.STEMTime) |
| * @generated NOT |
| */ |
| public void testPrepare__Model_STEMTime() { |
| |
| Model m0 = createModel(MODEL0_URI); |
| DublinCore dc0 = m0.getDublinCore(); |
| dc0.setTitle(MODEL+"0"); |
| Model m1 = createModel(MODEL1_URI); |
| DublinCore dc1 = m1.getDublinCore(); |
| dc1.setTitle(MODEL+"1"); |
| Model m2 = createModel(MODEL2_URI); |
| DublinCore dc2 = m2.getDublinCore(); |
| dc2.setTitle(MODEL+"2"); |
| |
| |
| // Graph G0 |
| final Graph g0 = createGraph(GRAPH0_URI); |
| g0.getDublinCore().setTitle("g0"); |
| |
| |
| |
| // *** Model M0 *** |
| m0.getGraphs().add(g0); |
| |
| // *** Model M1 *** |
| m1.getModels().add(m0); |
| |
| // *** Model M2 *** |
| m2.getModels().add(m1); |
| |
| assertTrue(m2.sane()); |
| |
| } |
| |
| } // DecoratorTest |