package org.cytoscape.rest.inetrnal.reader; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.io.File; import java.io.FileInputStream; import org.cytoscape.application.CyApplicationManager; import org.cytoscape.ding.NetworkViewTestSupport; import org.cytoscape.model.CyNetwork; import org.cytoscape.model.CyNetworkFactory; import org.cytoscape.model.CyNetworkManager; import org.cytoscape.model.NetworkTestSupport; import org.cytoscape.model.subnetwork.CyRootNetworkManager; import org.cytoscape.rest.internal.reader.EdgeListReader; import org.cytoscape.view.layout.CyLayoutAlgorithm; import org.cytoscape.view.layout.CyLayoutAlgorithmManager; import org.cytoscape.view.model.CyNetworkView; import org.cytoscape.view.model.CyNetworkViewFactory; import org.cytoscape.work.AbstractTask; import org.cytoscape.work.TaskIterator; import org.cytoscape.work.TaskMonitor; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; public class EdgeListReaderTest { protected TaskMonitor taskMonitor; protected CyNetworkFactory netFactory; protected CyNetworkViewFactory viewFactory; protected CyLayoutAlgorithmManager layouts; protected CyNetworkManager networkManager; protected CyRootNetworkManager rootNetworkManager; protected CyApplicationManager cyApplicationManager; static final class EmptyTask extends AbstractTask { public void run(final TaskMonitor tm) { } } @SuppressWarnings("unchecked") @Before public void setUp() throws Exception { taskMonitor = mock(TaskMonitor.class); CyLayoutAlgorithm def = mock(CyLayoutAlgorithm.class); Object context = new Object(); when(def.createLayoutContext()).thenReturn(context); when(def.getDefaultLayoutContext()).thenReturn(context); when( def.createTaskIterator(Mockito.any(CyNetworkView.class), Mockito.any(Object.class), Mockito.anySet(), Mockito.any(String.class))).thenReturn(new TaskIterator(new EmptyTask())); layouts = mock(CyLayoutAlgorithmManager.class); when(layouts.getDefaultLayout()).thenReturn(def); NetworkTestSupport nts = new NetworkTestSupport(); netFactory = nts.getNetworkFactory(); networkManager = nts.getNetworkManager(); rootNetworkManager = nts.getRootNetworkFactory(); cyApplicationManager = mock(CyApplicationManager.class); NetworkViewTestSupport nvts = new NetworkViewTestSupport(); viewFactory = nvts.getNetworkViewFactory(); } @After public void tearDown() throws Exception { } @Test public void testSmallEdgeList() throws Exception { final EdgeListReader reader = readFile("small.el"); final CyNetwork[] networks = reader.getNetworks(); assertNotNull(networks); assertEquals(1, networks.length); final CyNetwork network = networks[0]; int nodeCount = network.getNodeCount(); assertEquals(331, nodeCount); int edgeCount = network.getEdgeCount(); assertEquals(362, edgeCount); } @Test public void testIgraphEdgeList() throws Exception { final EdgeListReader reader = readFile("net10k.txt"); final CyNetwork[] networks = reader.getNetworks(); assertNotNull(networks); assertEquals(1, networks.length); final CyNetwork network = networks[0]; int nodeCount = network.getNodeCount(); assertEquals(1000, nodeCount); int edgeCount = network.getEdgeCount(); assertEquals(999, edgeCount); } private EdgeListReader readFile(final String fileName) throws Exception { File f = new File("./src/test/resources/" + fileName); EdgeListReader snvp = new EdgeListReader(new FileInputStream(f), viewFactory, netFactory, this.networkManager, this.rootNetworkManager, "collection1"); new TaskIterator(snvp); snvp.run(taskMonitor); return snvp; } }