Author: clopes
Date: 2012-09-04 14:12:17 -0700 (Tue, 04 Sep 2012)
New Revision: 30312
Added:
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session3x/simpleSession.cys
Removed:
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session3x/smallSession.cys
Modified:
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SimpleSessionLodingTest.java
Log:
refs #1383 : adds more tests for a "simple" Cy3 session (one network, few
nodes/edges)
Modified:
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SimpleSessionLodingTest.java
===================================================================
---
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SimpleSessionLodingTest.java
2012-09-04 21:05:40 UTC (rev 30311)
+++
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SimpleSessionLodingTest.java
2012-09-04 21:12:17 UTC (rev 30312)
@@ -1,43 +1,53 @@
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.awt.Color;
-import java.awt.Paint;
import java.io.File;
import java.util.Collection;
import java.util.Iterator;
+import java.util.Map;
import java.util.Set;
-import javax.swing.plaf.basic.BasicViewportUI;
-
-import org.cytoscape.io.internal.util.session.model.SelectedNodes;
+import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
import org.cytoscape.model.CyRow;
import org.cytoscape.model.CyTable;
+import org.cytoscape.model.SavePolicy;
+import org.cytoscape.model.subnetwork.CyRootNetwork;
import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
import org.cytoscape.view.presentation.property.BasicVisualLexicon;
+import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
import org.cytoscape.view.vizmap.VisualMappingFunction;
import org.cytoscape.view.vizmap.VisualStyle;
import org.cytoscape.view.vizmap.mappings.PassthroughMapping;
import org.cytoscape.work.TaskIterator;
-import org.junit.After;
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;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.ServiceReference;
@RunWith(JUnit4TestRunner.class)
@ExamReactorStrategy(AllConfinedStagedReactorFactory.class)
public class Cy3SimpleSessionLodingTest extends BasicIntegrationTest {
+ private static final int NODE_COUNT = 3;
+ private static final int EDGE_COUNT = 2;
+
@Before
public void setup() throws Exception {
- sessionFile = new
File("./src/test/resources/testData/session3x/", "smallSession.cys");
+ sessionFile = new
File("./src/test/resources/testData/session3x/", "simpleSession.cys");
checkBasicConfiguration();
}
@@ -54,65 +64,100 @@
Set<CyNetwork> networks = networkManager.getNetworkSet();
final Iterator<CyNetwork> itr = networks.iterator();
- CyNetwork net1 = itr.next();
- CyNetwork net2 = itr.next();
-
- // Pick galFiltered.sif
-
if(net1.getDefaultNetworkTable().getRow(net1.getSUID()).get(CyNetwork.NAME,
String.class).equals("galFiltered.sif")) {
- checkNetwork(net1);
- checkChildNetwork(net2);
- } else {
- checkNetwork(net2);
- checkChildNetwork(net1);
- }
+ CyNetwork net = itr.next();
- checkTables();
+ checkNetwork(net);
}
private void checkGlobalStatus() {
- assertEquals(2, networkManager.getNetworkSet().size());
- assertEquals(2, viewManager.getNetworkViewSet().size());
-
+ assertEquals(1, networkManager.getNetworkSet().size());
+ assertEquals(1, viewManager.getNetworkViewSet().size());
// Since this test runs in headless mode, this should be zero.
assertEquals(0,
renderingEngineManager.getAllRenderingEngines().size());
+ // 3 public tables per subnetwork
+ assertEquals(3, tableManager.getAllTables(false).size());
+ // 6 total tables per network
+ // TODO why not root-network tables?
+ final int totalNet = networkTableManager.getNetworkSet().size();
+ assertTrue(totalNet >= 2); // At least root+base-network; there
can be other (private) networks
+ assertEquals(6 * totalNet,
tableManager.getAllTables(true).size());
+// assertEquals(totalNet,
tableManager.getLocalTables(CyNetwork.class).size());
+// assertEquals(totalNet,
tableManager.getLocalTables(CyNode.class).size());
+// assertEquals(totalNet,
tableManager.getLocalTables(CyEdge.class).size());
+ // No global tables in this example
+ assertEquals(0, tableManager.getGlobalTables().size());
- assertEquals(36, tableManager.getAllTables(true).size());
+ for (CyNetwork net : networkTableManager.getNetworkSet())
+ checkNetworkTables(net);
- // 3 tables per network
- assertEquals(6, tableManager.getAllTables(false).size());
+ // TODO test root-network tables
+ // TODO test private tables
}
- private void checkNetwork(final CyNetwork network) {
- assertEquals(331, network.getNodeCount());
- assertEquals(362, network.getEdgeCount());
+ private void checkNetwork(final CyNetwork net) {
+ assertEquals(SavePolicy.SESSION_FILE, net.getSavePolicy());
+ assertEquals(NODE_COUNT, net.getNodeCount());
+ assertEquals(EDGE_COUNT, net.getEdgeCount());
+
+ // Network attributes
+ assertEquals("Na",
net.getDefaultNetworkTable().getRow(net.getSUID()).get(NAME, String.class));
+ assertEquals("Na", net.getTable(CyNetwork.class,
LOCAL_ATTRS).getRow(net.getSUID()).get(NAME, String.class));
+
// Selection state
- Collection<CyRow> selectedNodes =
network.getDefaultNodeTable().getMatchingRows(CyNetwork.SELECTED, true);
- Collection<CyRow> selectedEdges =
network.getDefaultEdgeTable().getMatchingRows(CyNetwork.SELECTED, true);
- assertEquals(43, selectedNodes.size());
- assertEquals(51, selectedEdges.size());
+ Collection<CyRow> selectedNodes =
net.getDefaultNodeTable().getMatchingRows(SELECTED, true);
+ Collection<CyRow> selectedEdges =
net.getDefaultEdgeTable().getMatchingRows(SELECTED, true);
+ assertEquals(2, selectedNodes.size());
+ assertEquals(1, selectedEdges.size());
+ for (CyRow row : selectedNodes) {
+ String name = row.get(NAME, String.class);
+ Boolean selected = row.get(SELECTED, Boolean.class);
+ assertEquals(name.equals("Node 1") || name.equals("Node
2"), selected);
+ }
+ for (CyRow row : selectedEdges) {
+ String name = row.get(NAME, String.class);
+ Boolean selected = row.get(SELECTED, Boolean.class);
+ assertEquals(name.equals("Node 1 (interaction) Node
2"), selected);
+ }
+
// View test
- Collection<CyNetworkView> views =
viewManager.getNetworkViews(network);
+ Collection<CyNetworkView> views =
viewManager.getNetworkViews(net);
assertEquals(1, views.size());
final CyNetworkView view = views.iterator().next();
- assertEquals(331, view.getNodeViews().size());
- assertEquals(362, view.getEdgeViews().size());
+ assertEquals(3, view.getNodeViews().size());
+ assertEquals(2, view.getEdgeViews().size());
// Visual Style
assertEquals(8, vmm.getAllVisualStyles().size());
final VisualStyle style = vmm.getVisualStyle(view);
checkVisualStyle(style);
- final Color backgroungColor = (Color)
view.getVisualProperty(BasicVisualLexicon.NETWORK_BACKGROUND_PAINT);
- assertEquals(Color.WHITE, backgroungColor);
+ assertEquals(Color.WHITE,
view.getVisualProperty(BasicVisualLexicon.NETWORK_BACKGROUND_PAINT));
+ assertEquals(Double.valueOf(354.0d),
view.getVisualProperty(BasicVisualLexicon.NETWORK_HEIGHT));
+ assertEquals(Double.valueOf(526.0d),
view.getVisualProperty(BasicVisualLexicon.NETWORK_WIDTH));
+ assertEquals(1.15d,
view.getVisualProperty(BasicVisualLexicon.NETWORK_SCALE_FACTOR), 0.001);
+ assertEquals(1.06d,
view.getVisualProperty(BasicVisualLexicon.NETWORK_CENTER_X_LOCATION), 0.009);
+ assertEquals(16.96d,
view.getVisualProperty(BasicVisualLexicon.NETWORK_CENTER_Y_LOCATION), 0.009);
+// assertEquals("Na",
view.getVisualProperty(BasicVisualLexicon.NETWORK_TITLE)); // TODO: rename not
setting title
- // All nodes should have same width/height:
- Double nodeWidth =
view.getNodeView(network.getNodeList().iterator().next()).getVisualProperty(BasicVisualLexicon.NODE_WIDTH);
- assertEquals(Double.valueOf(70.0d), nodeWidth);
- Double nodeHeight =
view.getNodeView(network.getNodeList().iterator().next()).getVisualProperty(BasicVisualLexicon.NODE_HEIGHT);
- assertEquals(Double.valueOf(40.0d), nodeHeight);
+ View<CyNode> nodeView =
view.getNodeView(net.getNodeList().iterator().next());
+ assertEquals(NodeShapeVisualProperty.ROUND_RECTANGLE,
nodeView.getVisualProperty(BasicVisualLexicon.NODE_SHAPE));
+ assertEquals(Double.valueOf(3.0d),
nodeView.getVisualProperty(BasicVisualLexicon.NODE_BORDER_WIDTH));
+ assertEquals(Double.valueOf(70.0d),
nodeView.getVisualProperty(BasicVisualLexicon.NODE_WIDTH));
+ assertEquals(Double.valueOf(40.0d),
nodeView.getVisualProperty(BasicVisualLexicon.NODE_HEIGHT));
+ assertEquals(new Color(0x00acad),
nodeView.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR));
+ assertEquals(new Color(0x333333),
nodeView.getVisualProperty(BasicVisualLexicon.NODE_BORDER_PAINT));
+
+ View<CyEdge> edgeView =
view.getEdgeView(net.getEdgeList().iterator().next());
+ assertEquals(Double.valueOf(2.0d),
edgeView.getVisualProperty(BasicVisualLexicon.EDGE_WIDTH));
+ assertEquals(new Color(0x333333),
edgeView.getVisualProperty(BasicVisualLexicon.EDGE_STROKE_UNSELECTED_PAINT));
+
+ // TODO test custom assigned table (e.g. created by a plugin)
+ assertTrue(net.getTable(CyNetwork.class,
DEFAULT_ATTRS).isPublic());
+ assertTrue(net.getTable(CyNode.class,
DEFAULT_ATTRS).isPublic());
+ assertTrue(net.getTable(CyEdge.class,
DEFAULT_ATTRS).isPublic());
}
private void checkVisualStyle(final VisualStyle style) {
@@ -124,18 +169,66 @@
VisualMappingFunction<?, ?> labelMapping =
mappings.iterator().next();
assertTrue(labelMapping instanceof PassthroughMapping);
assertEquals(BasicVisualLexicon.NODE_LABEL,
labelMapping.getVisualProperty());
- assertEquals(CyNetwork.NAME,
labelMapping.getMappingColumnName());
+ assertEquals(NAME, labelMapping.getMappingColumnName());
assertEquals(String.class, labelMapping.getMappingColumnType());
}
- private void checkChildNetwork(final CyNetwork network) {
- assertEquals(43, network.getNodeCount());
- assertEquals(34, network.getEdgeCount());
+ private void checkNetworkTables(final CyNetwork net) {
+ Map<String, CyTable> tables =
networkTableManager.getTables(net, CyNetwork.class);
+
+ for (Map.Entry<String, CyTable> entry : tables.entrySet()) {
+ String namespace = entry.getKey();
+ CyTable tbl = entry.getValue();
+
+ if (namespace.equals(LOCAL_ATTRS) ||
namespace.equals(SHARED_ATTRS) || namespace.equals(HIDDEN_ATTRS))
+ assertEquals(SavePolicy.SESSION_FILE,
tbl.getSavePolicy());
+ else
+ assertEquals(namespace + " should have
DO_NOT_SAVE policy", SavePolicy.DO_NOT_SAVE, tbl.getSavePolicy());
+ }
+
+ assertTrue(tables.containsValue(net.getTable(CyNetwork.class,
DEFAULT_ATTRS)));
+ assertTrue(tables.containsValue(net.getTable(CyNetwork.class,
LOCAL_ATTRS)));
+ assertTrue(tables.containsValue(net.getTable(CyNetwork.class,
HIDDEN_ATTRS)));
+ // These tables are always private
+ assertFalse(net.getTable(CyNetwork.class,
LOCAL_ATTRS).isPublic());
+ assertFalse(net.getTable(CyNetwork.class,
HIDDEN_ATTRS).isPublic());
+ assertEquals(1, net.getTable(CyNetwork.class,
DEFAULT_ATTRS).getAllRows().size());
+
+ if (net instanceof CyRootNetwork) {
+
assertTrue(tables.containsValue(net.getTable(CyNetwork.class, SHARED_ATTRS)));
+
assertTrue(tables.containsValue(net.getTable(CyNetwork.class,
SHARED_DEFAULT_ATTRS)));
+ assertFalse(net.getTable(CyNetwork.class,
SHARED_ATTRS).isPublic());
+ assertFalse(net.getTable(CyNetwork.class,
SHARED_DEFAULT_ATTRS).isPublic());
+ }
+
+ Map<String, CyTable> nodeTables =
networkTableManager.getTables(net, CyNode.class);
+ assertTrue(nodeTables.containsValue(net.getTable(CyNode.class,
DEFAULT_ATTRS)));
+ assertTrue(nodeTables.containsValue(net.getTable(CyNode.class,
LOCAL_ATTRS)));
+ assertTrue(nodeTables.containsValue(net.getTable(CyNode.class,
HIDDEN_ATTRS)));
+ assertFalse(net.getTable(CyNode.class, LOCAL_ATTRS).isPublic());
+ assertFalse(net.getTable(CyNode.class,
HIDDEN_ATTRS).isPublic());
+ assertEquals(NODE_COUNT, net.getTable(CyNode.class,
DEFAULT_ATTRS).getAllRows().size());
+
+ if (net instanceof CyRootNetwork) {
+
assertTrue(nodeTables.containsValue(net.getTable(CyNode.class, SHARED_ATTRS)));
+
assertTrue(nodeTables.containsValue(net.getTable(CyNode.class,
SHARED_DEFAULT_ATTRS)));
+ assertFalse(net.getTable(CyNode.class,
SHARED_ATTRS).isPublic());
+ assertFalse(net.getTable(CyNode.class,
SHARED_DEFAULT_ATTRS).isPublic());
+ }
+
+ Map<String, CyTable> edgeTables =
networkTableManager.getTables(net, CyEdge.class);
+ assertTrue(edgeTables.containsValue(net.getTable(CyEdge.class,
DEFAULT_ATTRS)));
+ assertTrue(edgeTables.containsValue(net.getTable(CyEdge.class,
LOCAL_ATTRS)));
+ assertTrue(edgeTables.containsValue(net.getTable(CyEdge.class,
HIDDEN_ATTRS)));
+ assertFalse(net.getTable(CyEdge.class, LOCAL_ATTRS).isPublic());
+ assertFalse(net.getTable(CyEdge.class,
HIDDEN_ATTRS).isPublic());
+ assertEquals(EDGE_COUNT, net.getTable(CyEdge.class,
DEFAULT_ATTRS).getAllRows().size());
+
+ if (net instanceof CyRootNetwork) {
+
assertTrue(edgeTables.containsValue(net.getTable(CyEdge.class, SHARED_ATTRS)));
+
assertTrue(edgeTables.containsValue(net.getTable(CyEdge.class,
SHARED_DEFAULT_ATTRS)));
+ assertFalse(net.getTable(CyEdge.class,
SHARED_ATTRS).isPublic());
+ assertFalse(net.getTable(CyEdge.class,
SHARED_DEFAULT_ATTRS).isPublic());
+ }
}
-
- private void checkTables() {
- // Check SUID-type columns
- final Set<CyTable> globalTables =
tableManager.getGlobalTables();
- // TODO
- }
}
Added:
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session3x/simpleSession.cys
===================================================================
(Binary files differ)
Property changes on:
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session3x/simpleSession.cys
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Deleted:
core3/impl/trunk/session-impl/integration-test/src/test/resources/testData/session3x/smallSession.cys
===================================================================
(Binary files differ)
--
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.