package com.framsticks.running; // import java.util.Arrays; // import java.util.Arrays; // import java.util.LinkedList; // import java.util.List; import org.testng.annotations.Test; // import com.framsticks.params.EventListener; // import com.framsticks.structure.messages.ValueChange; // import com.framsticks.util.dispatching.Monitor; // import static org.fest.assertions.Assertions.*; import com.framsticks.test.TestConfiguration; @Test public class ExternalProcessTest extends TestConfiguration { @Test(timeOut = 1000) public void runBash() throws InterruptedException { // TODO: needs improvement in directory configuration of the ExternalProcess // final ExternalProcess process = new ExternalProcess(); // process.setCommand("bash"); // final List input = Arrays.asList("test", "another line"); // final List output = new LinkedList<>(); // process.addOutputListener(new EventListener() { // @Override // public void action(ValueChange change) { // output.add(change.value.toString()); // } // }); // Monitor monitor = new Monitor(process); // monitor.use(); // for (String l : input) { // process.getInput().println("echo " + l); // } // process.getInput().close(); // monitor.waitFor(); // monitor.drop(); // monitor.join(); // assertThat(output).isEqualTo(input); } }