| /* |
| * Copyright (c) 2003, 2005 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 - initial API and implementation |
| * |
| * $Id: NamedElementTest.java,v 1.2 2005/04/20 19:00:46 khussey Exp $ |
| */ |
| package org.eclipse.uml2.tests; |
| |
| import java.util.Iterator; |
| |
| import org.eclipse.emf.ecore.EClass; |
| import org.eclipse.uml2.Dependency; |
| import org.eclipse.uml2.NamedElement; |
| |
| import org.eclipse.uml2.UML2Factory; |
| import org.eclipse.uml2.UML2Package; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A test case for the model object '<em><b>Named Element</b></em>'. |
| * <!-- end-user-doc --> |
| * <p> |
| * The following features are tested: |
| * <ul> |
| * <li>{@link org.eclipse.uml2.NamedElement#getQualifiedName() <em>Qualified Name</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#getClientDependencies() <em>Client Dependency</em>}</li> |
| * </ul> |
| * </p> |
| * <p> |
| * The following operations are tested: |
| * <ul> |
| * <li>{@link org.eclipse.uml2.NamedElement#validateNoName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Name</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#validateQualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualified Name</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#allNamespaces() <em>All Namespaces</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#isDistinguishableFrom(org.eclipse.uml2.NamedElement, org.eclipse.uml2.Namespace) <em>Is Distinguishable From</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#separator() <em>Separator</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#qualifiedName() <em>Qualified Name</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#validateVisibilityNeedsOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility Needs Ownership</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#getNamespace() <em>Get Namespace</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#getOwner() <em>Get Owner</em>}</li> |
| * <li>{@link org.eclipse.uml2.NamedElement#getOwnedElements() <em>Get Owned Elements</em>}</li> |
| * </ul> |
| * </p> |
| * @generated |
| */ |
| public abstract class NamedElementTest extends TemplateableElementTest { |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public static final String copyright = "Copyright (c) 2003, 2005 IBM Corporation and others."; //$NON-NLS-1$ |
| |
| /** |
| * Constructs a new Named Element test case with the given name. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public NamedElementTest(String name) { |
| super(name); |
| } |
| |
| /** |
| * Returns the fixture for this Named Element test case. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| private NamedElement getFixture() { |
| return (NamedElement)fixture; |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#getQualifiedName() <em>Qualified Name</em>}' feature getter. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#getQualifiedName() |
| * @generated |
| */ |
| public void testGetQualifiedNameGen() { |
| // TODO: implement this feature getter test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| public void testGetQualifiedName() { |
| testGetQualifiedNameGen(); |
| |
| setUpNamespace(); |
| |
| for (NamedElement namedElement = getFixture(); null != namedElement; namedElement = namedElement.getNamespace()) { |
| namedElement.setName(null); |
| } |
| assertEquals(getFixture().qualifiedName(), getFixture().getQualifiedName()); |
| |
| getFixture().setName(getName()); |
| assertEquals(getFixture().qualifiedName(), getFixture().getQualifiedName()); |
| |
| for (NamedElement namedElement = getFixture(); null != namedElement; namedElement = namedElement.getNamespace()) { |
| namedElement.setName(getName()); |
| } |
| assertEquals(getFixture().qualifiedName(), getFixture().getQualifiedName()); |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#getClientDependencies() <em>Client Dependency</em>}' feature getter. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#getClientDependencies() |
| * @generated |
| */ |
| public void testGetClientDependenciesGen() { |
| // TODO: implement this feature getter test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| public void testGetClientDependencies() { |
| testGetClientDependenciesGen(); |
| |
| for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getDependency()).iterator(); eAllSubClasses.hasNext();) { |
| Dependency dependency = (Dependency) UML2Factory.eINSTANCE.create((EClass) eAllSubClasses.next()); |
| |
| getFixture().getClientDependencies().add(dependency); |
| |
| assertTrue(getFixture().getClientDependencies().contains(dependency)); |
| assertTrue(dependency.getClients().contains(getFixture())); |
| |
| getFixture().getClientDependencies().remove(dependency); |
| |
| assertFalse(getFixture().getClientDependencies().contains(dependency)); |
| assertFalse(dependency.getClients().contains(getFixture())); |
| } |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#validateNoName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Name</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#validateNoName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) |
| * @generated |
| */ |
| public void testValidateNoName__DiagnosticChain_Map() { |
| // TODO: implement this operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#validateQualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualified Name</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#validateQualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) |
| * @generated |
| */ |
| public void testValidateQualifiedName__DiagnosticChain_Map() { |
| // TODO: implement this operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#allNamespaces() <em>All Namespaces</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#allNamespaces() |
| * @generated |
| */ |
| public void testAllNamespacesGen() { |
| // TODO: implement this operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| public void testAllNamespaces() { |
| testAllNamespacesGen(); |
| |
| setUpNamespace(); |
| |
| for (NamedElement namedElement = getFixture(); null != namedElement; namedElement = namedElement.getNamespace()) { |
| assertEquals(namedElement.allNamespaces().size() - 1, namedElement.allNamespaces().indexOf(namedElement.getNamespace())); |
| } |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#isDistinguishableFrom(org.eclipse.uml2.NamedElement, org.eclipse.uml2.Namespace) <em>Is Distinguishable From</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#isDistinguishableFrom(org.eclipse.uml2.NamedElement, org.eclipse.uml2.Namespace) |
| * @generated |
| */ |
| public void testIsDistinguishableFrom__NamedElement_Namespace() { |
| // TODO: implement this operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#separator() <em>Separator</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#separator() |
| * @generated |
| */ |
| public void testSeparatorGen() { |
| // TODO: implement this operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| public void testSeparator() { |
| testSeparatorGen(); |
| |
| assertEquals(NamedElement.SEPARATOR, getFixture().separator()); |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#qualifiedName() <em>Qualified Name</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#qualifiedName() |
| * @generated |
| */ |
| public void testQualifiedNameGen() { |
| // TODO: implement this operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| public void testQualifiedName() { |
| testQualifiedNameGen(); |
| |
| setUpNamespace(); |
| |
| for (NamedElement namedElement = getFixture(); null != namedElement; namedElement = namedElement.getNamespace()) { |
| namedElement.setName(""); //$NON-NLS-1$ |
| } |
| |
| assertEquals("", getFixture().qualifiedName()); //$NON-NLS-1$ |
| |
| getFixture().setName(getName()); |
| assertEquals(null == getFixture().getNamespace() ? getName() : "", getFixture().getQualifiedName()); //$NON-NLS-1$ |
| |
| for (NamedElement namedElement = getFixture(); null != namedElement; namedElement = namedElement.getNamespace()) { |
| namedElement.setName(getName()); |
| } |
| |
| String qualifiedName = getFixture().qualifiedName(); |
| |
| for (NamedElement namedElement = getFixture(); null != namedElement; namedElement = namedElement.getNamespace()) { |
| assertTrue(qualifiedName.endsWith(getName())); |
| |
| if (-1 != qualifiedName.lastIndexOf(namedElement.separator())) { |
| qualifiedName = qualifiedName.substring(0, qualifiedName.lastIndexOf(NamedElement.SEPARATOR)); |
| } |
| } |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#validateVisibilityNeedsOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility Needs Ownership</em>}' operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#validateVisibilityNeedsOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) |
| * @generated |
| */ |
| public void testValidateVisibilityNeedsOwnership__DiagnosticChain_Map() { |
| // TODO: implement this operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#getNamespace() <em>Get Namespace</em>}' getter operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#getNamespace() |
| * @generated |
| */ |
| public void testGetNamespaceGen() { |
| // TODO: implement this getter operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| public void testGetNamespace() { |
| testGetNamespaceGen(); |
| |
| setUpNamespace(); |
| |
| if (null != getFixture().eContainer()) { |
| assertSame(getFixture().eContainer(), getFixture().getNamespace()); |
| } |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#getOwner() <em>Get Owner</em>}' getter operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#getOwner() |
| * @generated |
| */ |
| public void testGetOwnerGen() { |
| // TODO: implement this getter operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| public void testGetOwner() { |
| testGetOwnerGen(); |
| |
| super.testGetOwner(); |
| |
| if (null != getFixture().getNamespace()) { |
| assertSame(getFixture().getNamespace(), getFixture().getOwner()); |
| } |
| } |
| |
| /** |
| * Tests the '{@link org.eclipse.uml2.NamedElement#getOwnedElements() <em>Get Owned Elements</em>}' getter operation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see org.eclipse.uml2.NamedElement#getOwnedElements() |
| * @generated |
| */ |
| public void testGetOwnedElementsGen() { |
| // TODO: implement this getter operation test method |
| // Ensure that you remove @generated or mark it @generated NOT |
| } |
| |
| public void testGetOwnedElements() { |
| testGetOwnedElementsGen(); |
| |
| super.testGetOwnedElements(); |
| |
| assertTrue(getFixture().getOwnedElements().contains(getFixture().getNameExpression())); |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.uml2.impl.tests.ElementImplTest#setUpOwnedElements() |
| */ |
| protected void setUpOwnedElements() { |
| super.setUpOwnedElements(); |
| |
| getFixture().setNameExpression(UML2Factory.eINSTANCE.createStringExpression()); |
| } |
| |
| protected abstract void setUpNamespace(); |
| |
| } //NamedElementImplTest |