Author: clopes
Date: 2012-09-11 09:58:37 -0700 (Tue, 11 Sep 2012)
New Revision: 30343

Added:
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3GroupsSessionLoadingTest.java
   
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session3x/groups.cys
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/Cy3SubnetworksSessionLoadingTest.java
Log:
refs #1383 : adds some tests for Cy3 groups

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-11 15:51:21 UTC (rev 30342)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/BasicIntegrationTest.java
        2012-09-11 16:58:37 UTC (rev 30343)
@@ -19,7 +19,9 @@
 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_NAME;
 import static org.junit.Assert.*;
 import static org.ops4j.pax.exam.CoreOptions.*;
 
@@ -30,9 +32,11 @@
 import javax.inject.Inject;
 
 import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.group.CyGroupManager;
 import org.cytoscape.io.read.CySessionReaderManager;
 import org.cytoscape.model.CyColumn;
 import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyIdentifiable;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkFactory;
 import org.cytoscape.model.CyNetworkManager;
@@ -73,42 +77,32 @@
        
        @Inject
        protected CyNetworkManager networkManager;
-       
        @Inject
        protected CyTableManager tableManager;
-       
        @Inject
        protected CyNetworkTableManager networkTableManager;
-       
        @Inject
        protected CyNetworkViewManager viewManager;
-       
        @Inject
        protected CyNetworkFactory networkFactory;
-       
        @Inject
        protected CySessionManager sessionManager;
-       
        @Inject
        protected VisualMappingManager vmm;
-       
        @Inject
        protected RenderingEngineManager renderingEngineManager;
-       
        @Inject @Filter("(id=ding)") // Use DING
        protected VisualLexicon lexicon;
-       
        @Inject
        protected OpenSessionTaskFactory openSessionTF;
-       
        @Inject
        protected SynchronousTaskManager<?> tm;
-       
        @Inject
        protected CyApplicationManager applicationManager;
-       
        @Inject
        protected CySessionReaderManager sessionReaderManager;
+       @Inject
+       protected CyGroupManager groupManager;
        
        
        // Target file name.  Assume we always have one test session file per 
test class.
@@ -277,6 +271,48 @@
                assertNotNull(openSessionTF);
                assertNotNull(applicationManager);
                assertNotNull(sessionReaderManager);
+               assertNotNull(groupManager);
+       }
+       
+       protected void checkNodeEdgeCount(CyNetwork net, int nodeCount, int 
edgeCount, int selectedNodes, int selectedEdges) {
+               assertEquals(net + ": incorrect selection", nodeCount, 
net.getNodeCount());
+               assertEquals(net + ": incorrect selection", edgeCount, 
net.getEdgeCount());
+               assertEquals(net + ": incorrect selection", selectedNodes, 
net.getTable(CyNode.class, LOCAL_ATTRS).getMatchingRows(SELECTED, true).size());
+               assertEquals(net + ": incorrect selection", selectedEdges, 
net.getTable(CyEdge.class, LOCAL_ATTRS).getMatchingRows(SELECTED, true).size());
+       }
+       
+       protected void checkSelection(CyNetwork net, CyIdentifiable element, 
boolean selected) {
+               assertEquals(selected, net.getRow(element, 
LOCAL_ATTRS).get(SELECTED, Boolean.class));
+       }
+       
+       protected CyNetwork getNetworkByName(String name) {
+               for (CyNetwork net : networkManager.getNetworkSet()) {
+                       if (name.equals(net.getRow(net).get(NAME, 
String.class)))
+                               return net;
+               }
                
+               return null;
        }
+       
+       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)))
+                               return n;
+               }
+               
+               return null;
+       }
+       
+       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)))
+                               return e;
+               }
+               
+               return null;
+       }
 }

Added: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3GroupsSessionLoadingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3GroupsSessionLoadingTest.java
                         (rev 0)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3GroupsSessionLoadingTest.java
 2012-09-11 16:58:37 UTC (rev 30343)
@@ -0,0 +1,107 @@
+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 java.util.Set;
+
+import org.cytoscape.group.CyGroup;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyIdentifiable;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyRow;
+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 Cy3GroupsSessionLoadingTest extends BasicIntegrationTest {
+
+       @Before
+       public void setup() throws Exception {
+               sessionFile = new 
File("./src/test/resources/testData/session3x/", "groups.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(2, vmm.getAllVisualStyles().size());
+               assertEquals(3, 
groupManager.getGroupSet(applicationManager.getCurrentNetwork()).size());
+       }
+       
+       private void checkNetwork() {
+               final CyNetwork net = applicationManager.getCurrentNetwork();
+               assertEquals(SavePolicy.SESSION_FILE, net.getSavePolicy());
+               checkNodeEdgeCount(applicationManager.getCurrentNetwork(), 6, 
4, 1, 0);
+               assertEquals("Directed", 
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(net, "Group 1");
+               final CyNode gn2 = getNodeByName(root, "Group 2");
+               final CyNode gn3 = getNodeByName(root, "Group 3");
+               assertTrue(groupManager.isGroup(gn1, net));
+               assertTrue(groupManager.isGroup(gn2, net));
+               assertTrue(groupManager.isGroup(gn3, net));
+               
+               final CyGroup g1 = groupManager.getGroup(gn1, net);
+               final CyGroup g2 = groupManager.getGroup(gn2, net);
+               final CyGroup g3 = groupManager.getGroup(gn3, net);
+               // TODO nested groups not working (cannot be created correctly 
by Cy3)
+//             assertFalse(g1.isCollapsed(net)); // TODO: Test G1 is inside 
G2, but is still expanded
+//             assertTrue(g2.isCollapsed(net)); // TODO
+               assertFalse(g3.isCollapsed(net));
+               
+               // 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 meta-edges and external edges
+               // TODO check group network attributes
+               // TODO check meta-edge attributes
+       }
+}

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SubnetworksSessionLoadingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SubnetworksSessionLoadingTest.java
    2012-09-11 15:51:21 UTC (rev 30342)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SubnetworksSessionLoadingTest.java
    2012-09-11 16:58:37 UTC (rev 30343)
@@ -1,22 +1,11 @@
 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 java.util.Set;
 
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyIdentifiable;
 import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.model.CyRow;
 import org.cytoscape.model.SavePolicy;
 import org.cytoscape.model.subnetwork.CySubNetwork;
 import org.cytoscape.work.TaskIterator;
@@ -109,42 +98,4 @@
                assertEquals("Directed", 
vmm.getVisualStyle(viewManager.getNetworkViews(nb).iterator().next()).getTitle());
                assertEquals("Ripple", 
vmm.getVisualStyle(viewManager.getNetworkViews(nb1).iterator().next()).getTitle());
        }
-       
-       private void checkNodeEdgeCount(CyNetwork net, int nodeCount, int 
edgeCount, int selectedNodes, int selectedEdges) {
-               assertEquals(net + ": incorrect selection", nodeCount, 
net.getNodeCount());
-               assertEquals(net + ": incorrect selection", edgeCount, 
net.getEdgeCount());
-               assertEquals(net + ": incorrect selection", selectedNodes, 
net.getTable(CyNode.class, LOCAL_ATTRS).getMatchingRows(SELECTED, true).size());
-               assertEquals(net + ": incorrect selection", selectedEdges, 
net.getTable(CyEdge.class, LOCAL_ATTRS).getMatchingRows(SELECTED, true).size());
-       }
-       
-       private void checkSelection(CyNetwork net, CyIdentifiable element, 
boolean selected) {
-               assertEquals(selected, net.getRow(element, 
LOCAL_ATTRS).get(SELECTED, Boolean.class));
-       }
-       
-       private CyNetwork getNetworkByName(String name) {
-               for (CyNetwork net : networkManager.getNetworkSet()) {
-                       if (name.equals(net.getRow(net).get(NAME, 
String.class)))
-                               return net;
-               }
-               
-               return null;
-       }
-       
-       private CyNode getNodeByName(CyNetwork net, String name) {
-               for (CyNode n : net.getNodeList()) {
-                       if (name.equals(net.getRow(n).get(NAME, String.class)))
-                               return n;
-               }
-               
-               return null;
-       }
-       
-       private CyEdge getEdgeByName(CyNetwork net, String name) {
-               for (CyEdge e : net.getEdgeList()) {
-                       if (name.equals(net.getRow(e).get(NAME, String.class)))
-                               return e;
-               }
-               
-               return null;
-       }
 }

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


Property changes on: 
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session3x/groups.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