package com.plectix.simulator.smoke; import java.io.File; import junit.framework.Assert; import org.junit.Test; import com.plectix.simulator.controller.SimulatorInputData; import com.plectix.simulator.simulator.KappaSystem; import com.plectix.simulator.simulator.SimulationArguments; import com.plectix.simulator.simulator.Simulator; import com.plectix.simulator.simulator.SimulatorCommandLine; import com.plectix.simulator.simulator.api.steps.CommandLineDefinedWorkflow; import com.plectix.simulator.simulator.api.steps.OperationManager; import com.plectix.simulator.util.io.XMLOutputOracle; public class TestENG413 { @Test public final void test() { try { String kappaFile = "data" + File.separator + "example.ka"; KappaSystem kappaSystem = this.processCommandLine("--sim " + kappaFile + " --event 35 --output-final-state"); Assert.assertTrue("simulation plot contains no data", XMLOutputOracle.finalStateDataIsNotEmpty(kappaSystem)); } catch(Exception e) { e.printStackTrace(); Assert.fail(e.getMessage()); } } private KappaSystem processCommandLine(String commandLine) throws Exception { Simulator simulator = new Simulator(); SimulatorCommandLine simulatorCommandLine = new SimulatorCommandLine(commandLine); SimulationArguments arguments = simulatorCommandLine.getSimulationArguments(); SimulatorInputData inputData = new SimulatorInputData(arguments); KappaSystem kappaSystem = simulator.getSimulationData().getKappaSystem(); OperationManager manager = kappaSystem.getOperationManager(); CommandLineDefinedWorkflow operation = new CommandLineDefinedWorkflow(simulator, inputData); operation.turnOffXMLOutput(); manager.perform(operation); return kappaSystem; } }