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.