package ui.GraphLatencyAnalysis; import static org.junit.Assert.*; import java.io.File; import java.util.Vector; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import ui.AbstractUITest; import ui.TMLArchiPanel; import ui.directedgraph.DirectedGraphTranslator; import ui.directedgraph.JFrameLatencyDetailedAnalysis; import ui.directedgraph.JFrameLatencyDetailedPopup; import ui.interactivesimulation.SimulationTransaction; public class GraphLatencyAnalysis extends AbstractUITest { private static final String simulationTracePath = "/ui/graphLatencyAnalysis/input/graphTest.xml"; private static final String modelPath = "/ui/graphLatencyAnalysis/input/GraphTest.xml"; // private static final String simulationTracePath = // "/home/maysam/eclipse/TTool/ttool/src/test/resources/ui/graphLatencyAnalysis/input/graphTest.xml"; // private static final String modelPath = // "/home/maysam/eclipse/TTool/ttool/src/test/resources/ui/graphLatencyAnalysis/input/GraphTest.xml"; private static final String mappingDiagName = "Architecture2"; private Vector<SimulationTransaction> transFile1; private Vector<String> dropDown; private static final String t1 = "Application2__task4__send event: evt1(t)__44"; private static final String t2 = "Application2__task22__read channel: comm_0(1) __26"; private static String task1; private static String task2; private static DirectedGraphTranslator dgt; private static Object[][] allLatencies, minMaxArray, taskHWByRowDetails, detailedLatency; private JFrameLatencyDetailedAnalysis latencyDetailedAnalysis; @Before public void GraphLatencyAnalysis() { mainGUI.openProjectFromFile(new File(getBaseResourcesDir() + modelPath)); // mainGUI.openProjectFromFile(new File( modelPath)); final TMLArchiPanel panel = findArchiPanel(mappingDiagName); mainGUI.checkModelingSyntax(panel, true); mainGUI.latencyDetailedAnalysis(); latencyDetailedAnalysis = mainGUI.getLatencyDetailedAnalysis(); if (latencyDetailedAnalysis == null) { return; } mainGUI.getLatencyDetailedAnalysis().setVisible(false); while (latencyDetailedAnalysis.graphStatus() != Thread.State.TERMINATED) { dgt = latencyDetailedAnalysis.getDgraph(); } } @Test public void parseFile() { assertNotNull(latencyDetailedAnalysis); int graphsize = dgt.getGraphsize(); assertTrue(graphsize == 40); dropDown = latencyDetailedAnalysis.loadDropDowns(); assertTrue(dropDown.size() == 11); transFile1 = mainGUI.getLatencyDetailedAnalysis().parseFile(new File(getBaseResourcesDir() + simulationTracePath)); // transFile1 = mainGUI.getLatencyDetailedAnalysis() .parseFile(new File( // simulationTracePath)); assertTrue(transFile1.size() == 175); int i = dropDown.indexOf(t1); int j = dropDown.indexOf(t2); task1 = dropDown.get(i); task2 = dropDown.get(j); allLatencies = dgt.latencyDetailedAnalysis(task1, task2, transFile1); assertTrue(allLatencies.length == 10); minMaxArray = dgt.latencyMinMaxAnalysis(task1, task2, transFile1); dgt.getRowDetailsMinMax(1); taskHWByRowDetails = dgt.getTasksByRowMinMax(1); assertTrue(minMaxArray.length > 0); assertTrue(taskHWByRowDetails.length == 12); taskHWByRowDetails = dgt.getTaskHWByRowDetailsMinMax(1); assertTrue(taskHWByRowDetails.length == 13); detailedLatency = dgt.getTaskByRowDetails(7); assertTrue(detailedLatency.length == 12); detailedLatency = dgt.getTaskHWByRowDetails(7); assertTrue(detailedLatency.length == 14); } }