svn commit: r12591 - trunk/tests/org/argouml/TestDependencies.java

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: mvw
Date: 2007-05-10 11:05:52-0700
New Revision: 12591

Modified:
   trunk/tests/org/argouml/TestDependencies.java

Log:
Saveguard some of the dependencies I removed recently.

Modified: trunk/tests/org/argouml/TestDependencies.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/tests/org/argouml/TestDependencies.java?view=diff&rev=12591&p1=trunk/tests/org/argouml/TestDependencies.java&p2=trunk/tests/org/argouml/TestDependencies.java&r1=12590&r2=12591
==============================================================================
--- trunk/tests/org/argouml/TestDependencies.java	(original)
+++ trunk/tests/org/argouml/TestDependencies.java	2007-05-10 11:05:52-0700
@@ -134,6 +134,17 @@
             suite.addTest(new CheckLowLevel(jdepend, low[i]));
         }
 
+        String[][] dep = {
+            // There shall not be a dependency from ... to ...
+            {"org.argouml.persistence", "org.argouml.ui"},
+            {"org.argouml.moduleloader", "org.argouml.persistence"},
+            {"org.argouml.language.java.generator", "org.argouml.notation"},
+            {"org.argouml.notation", "org.argouml.notation.ui"},
+        };
+        for (int i = 0; i < dep.length; i++) {
+            suite.addTest(new CheckNoDependency(jdepend, dep[i]));
+        }
+
         return suite;
     }
 
@@ -234,4 +245,35 @@
             }
         }
     }
+    
+    static class CheckNoDependency extends TestCase {
+        private String nameFrom;
+        private String nameTo;
+        private JDepend jdepend;
+
+        CheckNoDependency(JDepend jd, String[] name) {
+            super("Check for dependency from " + name[0] + " to " + name[1]);
+            jdepend = jd;
+            nameFrom = name[0];
+            nameTo = name[1];
+        }
+
+        @SuppressWarnings("unchecked")
+        public void runTest() {
+            JavaPackage packageFrom = jdepend.getPackage(nameFrom);
+            JavaPackage packageTo = jdepend.getPackage(nameTo);
+            assertNotNull("Missing package", packageFrom);
+            Collection<JavaPackage> efferents = packageFrom.getEfferents();
+            for (JavaPackage jp : efferents) {
+                if (jp.equals(packageTo)) {
+                    StringBuffer msg = new StringBuffer(
+                        "JDepend indicates a dependency from ");
+                    msg.append(nameFrom);
+                    msg.append(" to ");
+                    msg.append(nameTo);
+                    assertTrue(msg.toString(), false);
+                }
+            }
+        }
+    }
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.