Author: bobtarling
Date: 2008-04-13 11:47:31-0700
New Revision: 14336

Added:
   trunk/src/app/tests/org/argouml/model/TestUmlFactory.java

Log:
Test build of association

Added: trunk/src/app/tests/org/argouml/model/TestUmlFactory.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/org/argouml/model/TestUmlFactory.java?view=auto&rev=14336
==============================================================================
--- (empty file)
+++ trunk/src/app/tests/org/argouml/model/TestUmlFactory.java   2008-04-13 
11:47:31-0700
@@ -0,0 +1,86 @@
+// $Id: TestUmlFactoryBuildNode.java 12485 2007-05-03 05:59:35Z linus $

+// Copyright (c) 2005-2007 The Regents of the University of California. All

+// Rights Reserved. Permission to use, copy, modify, and distribute this

+// software and its documentation without fee, and without a written

+// agreement is hereby granted, provided that the above copyright notice

+// and this paragraph appear in all copies. This software program and

+// documentation are copyrighted by The Regents of the University of

+// California. The software program and documentation are supplied "AS

+// IS", without any accompanying services from The Regents. The Regents

+// does not warrant that the operation of the program will be

+// uninterrupted or error-free. The end-user understands that the program

+// was developed for research purposes and is advised not to rely

+// exclusively on the program for any reason. IN NO EVENT SHALL THE

+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,

+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,

+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF

+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF

+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY

+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE

+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF

+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,

+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

+

+package org.argouml.model;

+

+import java.util.Collection;

+import java.util.Iterator;

+

+import junit.framework.TestCase;

+

+/**

+ * Checks that the [EMAIL PROTECTED] UmlFactory#buildNode(Object)} method 
works with

+ * all conceivable alternatives.

+ */

+public class TestUmlFactory extends TestCase {

+    /**

+     * Constructor.

+     *

+     * @param arg0 name of the test case

+     */

+    public TestUmlFactory(String arg0) {

+        super(arg0);

+    }

+

+    /*

+     * @see junit.framework.TestCase#setUp()

+     */

+    public void setUp() {

+        InitializeModel.initializeDefault();

+    }

+

+    /**

+     * Check that a 

+     * Testing Core elements.

+     * @throws Exception

+     */

+    public void testBuildConnection() throws Exception {

+        Object class1 = (Model.getUmlFactory().buildNode(

+                Model.getMetaTypes().getUMLClass()));

+        Object package1 = (Model.getUmlFactory().buildNode(

+                Model.getMetaTypes().getPackage()));

+        Model.getCoreHelper().setNamespace(class1, package1);

+        

+        Object class2 = (Model.getUmlFactory().buildNode(

+                Model.getMetaTypes().getUMLClass()));

+        Object package2 = (Model.getUmlFactory().buildNode(

+                Model.getMetaTypes().getPackage()));

+        Model.getCoreHelper().setNamespace(class2, package2);

+        

+        Object assoc = Model.getUmlFactory().buildConnection(

+                Model.getMetaTypes().getAssociation(), 

+                class1, Model.getAggregationKind().getComposite(), 

+                class2, Model.getAggregationKind().getNone(),

+                true, null);

+        

+        // The association should have sane namespace as from class

+        assertSame(package1, Model.getFacade().getNamespace(assoc));

+        

+        // Only one end should be navigable

+        assertFalse(Model.getFacade().isNavigable(

+                Model.getFacade().getAssociationEnd(class1, assoc)));

+        assertTrue(Model.getFacade().isNavigable(

+                Model.getFacade().getAssociationEnd(class2, assoc)));

+    }

+}


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to