Author: clopes
Date: 2012-07-20 10:56:27 -0700 (Fri, 20 Jul 2012)
New Revision: 29944

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/Cy252SimpleSessionLodingTest.java
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283ComplexSessionLodingTest.java
Log:
Adds integration tests that make sure custom attributes from Cy2 networks are 
imported as mutable CyColumns.

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-07-20 17:47:06 UTC (rev 29943)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/BasicIntegrationTest.java
        2012-07-20 17:56:27 UTC (rev 29944)
@@ -16,7 +16,6 @@
 package org.cytoscape.session;
 
 import static org.junit.Assert.*;
-import static org.junit.Assert.assertNotNull;
 import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 import static org.ops4j.pax.exam.CoreOptions.felix;
 import static org.ops4j.pax.exam.CoreOptions.junitBundles;
@@ -26,15 +25,20 @@
 import static org.ops4j.pax.exam.CoreOptions.frameworkStartLevel;
 
 import java.io.File;
+import java.util.List;
 
 import javax.inject.Inject;
 
 import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.io.read.CySessionReader;
 import org.cytoscape.io.read.CySessionReaderManager;
+import org.cytoscape.model.CyColumn;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkFactory;
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyNetworkTableManager;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.task.read.OpenSessionTaskFactory;
 import org.cytoscape.view.model.CyNetworkViewManager;
@@ -42,9 +46,6 @@
 import org.cytoscape.view.presentation.RenderingEngineManager;
 import org.cytoscape.view.vizmap.VisualMappingManager;
 import org.cytoscape.work.SynchronousTaskManager;
-import org.cytoscape.work.TaskIterator;
-import org.junit.Before;
-import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.junit.Configuration;
@@ -214,6 +215,27 @@
                );
        }
        
+       protected void assertCustomColumnsAreMutable(CyNetwork net) {
+               // User or non-default columns must be immutable (2.x sessions 
only)
+               CyTable[] tables = new CyTable[] {
+                       net.getTable(CyNetwork.class, CyNetwork.DEFAULT_ATTRS),
+                       net.getTable(CyNetwork.class, CyNetwork.HIDDEN_ATTRS),
+                       net.getTable(CyNode.class, CyNetwork.DEFAULT_ATTRS),
+                       net.getTable(CyNode.class, CyNetwork.HIDDEN_ATTRS),
+                       net.getTable(CyEdge.class, CyNetwork.DEFAULT_ATTRS),
+                       net.getTable(CyEdge.class, CyNetwork.HIDDEN_ATTRS)
+               };
+               for (CyTable t : tables) {
+                       for (CyColumn c : t.getColumns()) {
+                               String name = c.getName();
+                               if (!name.equals(CyNetwork.SUID)     && 
!name.equals(CyNetwork.NAME) && 
+                                       !name.equals(CyNetwork.SELECTED) && 
!name.equals(CyEdge.INTERACTION) &&
+                                       !c.getVirtualColumnInfo().isVirtual()) {
+                                       assertFalse("Column " + c.getName() + " 
should NOT be immutable", c.isImmutable());
+                               }
+                       }
+               }
+       }
        
        /**
         * 

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy252SimpleSessionLodingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy252SimpleSessionLodingTest.java
        2012-07-20 17:47:06 UTC (rev 29943)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy252SimpleSessionLodingTest.java
        2012-07-20 17:56:27 UTC (rev 29944)
@@ -81,6 +81,9 @@
                assertEquals(331, network.getNodeCount());
                assertEquals(362, network.getEdgeCount());
 
+               // Non-default columns should not be immutable
+               assertCustomColumnsAreMutable(network);
+               
                // Selection state
                Collection<CyRow> selectedNodes = 
network.getDefaultNodeTable().getMatchingRows(CyNetwork.SELECTED, true);
                Collection<CyRow> selectedEdges = 
network.getDefaultEdgeTable().getMatchingRows(CyNetwork.SELECTED, true);
@@ -105,7 +108,6 @@
 
                // Check updated view
                checkView(view);
-
        }
 
        private void checkVisualStyle(final VisualStyle style) {

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283ComplexSessionLodingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283ComplexSessionLodingTest.java
       2012-07-20 17:47:06 UTC (rev 29943)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283ComplexSessionLodingTest.java
       2012-07-20 17:56:27 UTC (rev 29944)
@@ -7,6 +7,7 @@
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
@@ -15,6 +16,8 @@
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyRow;
+import org.cytoscape.model.subnetwork.CyRootNetwork;
+import org.cytoscape.model.subnetwork.CySubNetwork;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.presentation.property.BasicVisualLexicon;
 import org.cytoscape.view.presentation.property.LineTypeVisualProperty;
@@ -87,9 +90,16 @@
 
        private void checkNetworks() {
                final Set<CyNetwork> networks = networkManager.getNetworkSet();
+               final Set<CyRootNetwork> rootNetworks = new 
HashSet<CyRootNetwork>();
 
-               // Pick specific network.
                for (CyNetwork network : networks) {
+                       // Non-default columns should not be immutable
+                       assertCustomColumnsAreMutable(network);
+                       
+                       if (network instanceof CySubNetwork)
+                               
rootNetworks.add(((CySubNetwork)network).getRootNetwork());
+                       
+                       // Pick specific network.
                        String networkName = 
network.getRow(network).get(CyNetwork.NAME, String.class);
                        if (networkName.equals(NET1))
                                testNetwork1(network);
@@ -102,7 +112,9 @@
                        else if (networkName.equals(NET5))
                                testNetwork5(network);
                }
-
+               
+               for (CyRootNetwork rootNet : rootNetworks)
+                       assertCustomColumnsAreMutable(rootNet);
        }
 
        private void testNetwork1(CyNetwork network) {

-- 
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