Author: clopes
Date: 2012-09-24 12:15:46 -0700 (Mon, 24 Sep 2012)
New Revision: 30467

Added:
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283GroupsSessionLoadingTest.java
   
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session2x/v283Groups.cys
Modified:
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/BasicIntegrationTest.java
Log:
refs #6 : Added tests for Cy2 groups, including nested ones

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/BasicIntegrationTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/BasicIntegrationTest.java
        2012-09-24 02:10:22 UTC (rev 30466)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/BasicIntegrationTest.java
        2012-09-24 19:15:46 UTC (rev 30467)
@@ -42,6 +42,7 @@
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyNetworkTableManager;
 import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyRow;
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.model.subnetwork.CyRootNetwork;
@@ -295,10 +296,10 @@
        }
        
        protected CyNode getNodeByName(CyNetwork net, String name) {
-               String colName = net instanceof CyRootNetwork ? SHARED_NAME : 
NAME;
-               
                for (CyNode n : net.getNodeList()) {
-                       if (name.equals(net.getRow(n).get(colName, 
String.class)))
+                       CyRow row = net.getRow(n);
+                       
+                       if (name.equals(row.get(NAME, String.class)) || 
name.equals(row.get(SHARED_NAME, String.class)))
                                return n;
                }
                
@@ -306,10 +307,10 @@
        }
        
        protected CyEdge getEdgeByName(CyNetwork net, String name) {
-               String colName = net instanceof CyRootNetwork ? SHARED_NAME : 
NAME;
-               
                for (CyEdge e : net.getEdgeList()) {
-                       if (name.equals(net.getRow(e).get(colName, 
String.class)))
+                       CyRow row = net.getRow(e);
+                       
+                       if (name.equals(row.get(NAME, String.class)) || 
name.equals(row.get(SHARED_NAME, String.class)))
                                return e;
                }
                

Added: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283GroupsSessionLoadingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283GroupsSessionLoadingTest.java
                               (rev 0)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283GroupsSessionLoadingTest.java
       2012-09-24 19:15:46 UTC (rev 30467)
@@ -0,0 +1,128 @@
+package org.cytoscape.session;
+
+import static org.cytoscape.model.CyNetwork.DEFAULT_ATTRS;
+import static org.cytoscape.model.CyNetwork.HIDDEN_ATTRS;
+import static org.cytoscape.model.CyNetwork.LOCAL_ATTRS;
+import static org.cytoscape.model.CyNetwork.NAME;
+import static org.cytoscape.model.CyNetwork.SELECTED;
+import static org.cytoscape.model.subnetwork.CyRootNetwork.SHARED_ATTRS;
+import static 
org.cytoscape.model.subnetwork.CyRootNetwork.SHARED_DEFAULT_ATTRS;
+import static org.junit.Assert.*;
+
+import java.io.File;
+
+import org.cytoscape.group.CyGroup;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.SavePolicy;
+import org.cytoscape.model.subnetwork.CyRootNetwork;
+import org.cytoscape.model.subnetwork.CySubNetwork;
+import org.cytoscape.work.TaskIterator;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.ExamReactorStrategy;
+import org.ops4j.pax.exam.junit.JUnit4TestRunner;
+import org.ops4j.pax.exam.spi.reactors.AllConfinedStagedReactorFactory;
+
+@RunWith(JUnit4TestRunner.class)
+@ExamReactorStrategy(AllConfinedStagedReactorFactory.class)
+public class Cy283GroupsSessionLoadingTest extends BasicIntegrationTest {
+
+       @Before
+       public void setup() throws Exception {
+               sessionFile = new 
File("./src/test/resources/testData/session2x/", "v283Groups.cys");
+               checkBasicConfiguration();
+       }
+
+       @Test
+       public void testLoadSession() throws Exception {
+               final TaskIterator ti = 
openSessionTF.createTaskIterator(sessionFile);
+               tm.execute(ti);
+               confirm();
+       }
+
+       private void confirm() {
+               checkGlobalStatus();
+               checkNetwork();
+               checkGroups();
+       }
+       
+       private void checkGlobalStatus() {
+               assertEquals(1, networkManager.getNetworkSet().size());
+               assertEquals(1, viewManager.getNetworkViewSet().size());
+               assertEquals(1, 
applicationManager.getSelectedNetworks().size());
+               assertEquals(1, 
applicationManager.getSelectedNetworkViews().size());
+               assertEquals(getNetworkByName("Network"), 
applicationManager.getCurrentNetwork());
+               assertNotNull(applicationManager.getCurrentNetworkView());
+               assertEquals("default", vmm.getDefaultVisualStyle().getTitle());
+               assertEquals(9, vmm.getAllVisualStyles().size());
+       }
+       
+       private void checkNetwork() {
+               final CyNetwork net = applicationManager.getCurrentNetwork();
+               assertEquals(SavePolicy.SESSION_FILE, net.getSavePolicy());
+               checkNodeEdgeCount(applicationManager.getCurrentNetwork(), 4, 
2, 0, 0);
+               assertEquals("Nested Network Style", 
vmm.getVisualStyle(viewManager.getNetworkViews(net).iterator().next()).getTitle());
+       }
+       
+       private void checkGroups() {
+               final CyNetwork net = applicationManager.getCurrentNetwork();
+               final CyRootNetwork root = ((CySubNetwork) 
net).getRootNetwork();
+               
+               // GROUP NODES
+               final CyNode gn1 = getNodeByName(root, "Metanode 1");
+               final CyNode gn2 = getNodeByName(root, "Metanode 2");
+               final CyNode gn3 = getNodeByName(root, "Metanode 3");
+               assertNotNull(gn1);
+               assertNotNull(gn2);
+               assertNotNull(gn3);
+               assertTrue(groupManager.isGroup(gn1, gn2.getNetworkPointer())); 
// nested group
+               assertTrue(groupManager.isGroup(gn2, net));
+               assertTrue(groupManager.isGroup(gn3, net));
+               
+               assertEquals(2, groupManager.getGroupSet(net).size());
+               assertEquals(1, 
groupManager.getGroupSet(gn2.getNetworkPointer()).size());
+               
+               final CyGroup g1 = groupManager.getGroup(gn1, 
gn2.getNetworkPointer());
+               final CyGroup g2 = groupManager.getGroup(gn2, net);
+               final CyGroup g3 = groupManager.getGroup(gn3, net);
+               assertTrue(g1.isCollapsed(gn2.getNetworkPointer()));
+               assertTrue(g2.isCollapsed(net));
+               assertFalse(g3.isCollapsed(net)); // Expanded!
+               
+               // INTERNAL/EXTERNAL EDGES
+               // Metanode 1 (nested group)
+               CyEdge e1 = getEdgeByName(root, "node0 (DirectedEdge) node1");
+               assertTrue(g1.getInternalEdgeList().contains(e1));
+               assertEquals(1, g1.getInternalEdgeList().size());
+               CyEdge e2 = getEdgeByName(root, "node1 (DirectedEdge) node2");
+               assertTrue(g1.getExternalEdgeList().contains(e2));
+               assertEquals(1, g1.getExternalEdgeList().size());
+               // Metanode 2
+               CyEdge e3 = getEdgeByName(root, "Metanode 1 (DirectedEdge) 
node3");
+               assertTrue(g2.getInternalEdgeList().contains(e3));
+               assertEquals(1, g2.getInternalEdgeList().size());
+               CyEdge e4 = getEdgeByName(root, "Metanode 1 (meta-DirectedEdge) 
node2");
+               assertTrue(g2.getExternalEdgeList().contains(e4));
+               assertEquals(1, g2.getExternalEdgeList().size());
+               // Metanode 3
+               CyEdge e5 = getEdgeByName(root, "node4 (DirectedEdge) node5");
+               assertTrue(g3.getInternalEdgeList().contains(e5));
+               assertEquals(1, g3.getInternalEdgeList().size());
+               assertEquals(0, g3.getExternalEdgeList().size()); // No 
external edges
+               
+               // GROUP NETWORKS
+               assertEquals(gn1.getNetworkPointer(), g1.getGroupNetwork());
+               assertEquals(gn2.getNetworkPointer(), g2.getGroupNetwork());
+               assertEquals(gn3.getNetworkPointer(), g3.getGroupNetwork());
+               // Make sure the group subnetworks have the correct save policy
+               assertEquals(SavePolicy.SESSION_FILE, 
g1.getGroupNetwork().getSavePolicy());
+               assertEquals(SavePolicy.SESSION_FILE, 
g2.getGroupNetwork().getSavePolicy());
+               assertEquals(SavePolicy.SESSION_FILE, 
g3.getGroupNetwork().getSavePolicy());
+               
+               // TODO check group network attributes
+               // TODO check meta-edge attributes
+       }
+}

Added: 
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session2x/v283Groups.cys
===================================================================
(Binary files differ)


Property changes on: 
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session2x/v283Groups.cys
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to