Author: clopes
Date: 2012-05-17 14:15:24 -0700 (Thu, 17 May 2012)
New Revision: 29292
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskTest.java
Log:
Fixes #1012 : CreateNetworkViewTask can create multiple views per network
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
2012-05-17 21:04:30 UTC (rev 29291)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
2012-05-17 21:15:24 UTC (rev 29292)
@@ -90,12 +90,13 @@
int i = 0;
int viewCount = networks.size();
for (final CyNetwork n : networks) {
-
- createView(n);
- taskMonitor.setStatusMessage("Network view successfully
create for: "
- + n.getRow(n).get(CyNetwork.NAME,
String.class));
- i++;
- taskMonitor.setProgress((i / (double) viewCount));
+ if (networkViewManager.getNetworkViews(n).isEmpty()) {
+ createView(n);
+ taskMonitor.setStatusMessage("Network view
successfully created for: "
+ +
n.getRow(n).get(CyNetwork.NAME, String.class));
+ i++;
+ taskMonitor.setProgress((i / (double)
viewCount));
+ }
}
taskMonitor.setProgress(1.0);
Modified:
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskTest.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskTest.java
2012-05-17 21:04:30 UTC (rev 29291)
+++
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskTest.java
2012-05-17 21:15:24 UTC (rev 29292)
@@ -1,10 +1,9 @@
package org.cytoscape.task.internal.creation;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
+import static org.mockito.Matchers.*;
+import static org.mockito.Mockito.*;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
@@ -17,31 +16,51 @@
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.work.undo.UndoSupport;
+import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
public class CreateNetworkViewTaskTest {
private final NetworkTestSupport support = new NetworkTestSupport();
private final NetworkViewTestSupport viewSupport = new
NetworkViewTestSupport();
-
- private CyNetwork networkModel = support.getNetwork();
private CyNetworkViewFactory viewFactory =
viewSupport.getNetworkViewFactory();
- private CyNetworkViewManager networkViewManager =
mock(CyNetworkViewManager.class);
+ @Mock private CyNetworkViewManager networkViewManager;
+ @Mock private UndoSupport undoSupport;
+ @Mock private TaskMonitor tm;
+ @Mock private CyEventHelper eventHelper;
+ @Before
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ }
+
@Test
public void testCreateNetworkViewTask() throws Exception {
- UndoSupport undoSupport = mock(UndoSupport.class);
-
- final TaskMonitor tm = mock(TaskMonitor.class);
- final CyEventHelper eventHelper = mock(CyEventHelper.class);
final Set<CyNetwork> networks = new HashSet<CyNetwork>();
- networks.add(networkModel);
+ networks.add(support.getNetwork());
final CreateNetworkViewTask task = new
CreateNetworkViewTask(undoSupport, networks, viewFactory,
networkViewManager, null, eventHelper);
task.run(tm);
verify(networkViewManager,
times(1)).addNetworkView(any(CyNetworkView.class));
}
+
+ @Test
+ public void testShouldNotCreateMultipleViewsPerNetwork() throws
Exception {
+ final Set<CyNetwork> networks = new HashSet<CyNetwork>();
+ final CyNetworkView view = viewSupport.getNetworkView();
+ networks.add(support.getNetwork());
+ networks.add(view.getModel());
+
when(networkViewManager.getNetworkViews(view.getModel())).thenReturn(Arrays.asList(new
CyNetworkView[]{ view }));
+
+ final CreateNetworkViewTask task = new
CreateNetworkViewTask(undoSupport, networks, viewFactory,
+ networkViewManager, null, eventHelper);
+
+ task.run(tm);
+ verify(networkViewManager,
times(1)).addNetworkView(any(CyNetworkView.class));
+ }
}
--
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.