package regressiontest.processes; import java.util.List; import junit.framework.TestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; import plugins.ronline.RProcess; public class RProcessTest extends TestCase { RProcess rp; public RProcessTest() throws Exception { rp = new RProcess(3600); new Thread(rp).start(); } @Before public void start() throws Exception { assertTrue(rp.isRunning()); } @After public void stop() throws Exception { rp.quit(); } @Test public void test1() throws Exception { assertEquals("[1] 1", rp.execute("1").get(0)); assertEquals(0, rp.execute("q<-2").size()); assertEquals(0, rp.execute("w<-3").size()); assertEquals("[1] 5", rp.execute("q+w").get(0)); } @Test public void test2() throws Exception { assertEquals("Error: object 'error' not found", rp.execute("error").get(0)); } @Test public void test3() throws Exception { assertEquals(0, rp.execute("p<-pi").size(), 0); assertEquals("[1] TRUE", rp.execute("p==pi").get(0)); } @Test public void test4() throws Exception { List<String> res = rp.execute("data.frame(cbind( 1, 1:2), cbind(3,1:2))"); assertEquals((" X1 X2 X1.1 X2.1"), res.get(0)); assertEquals(("1 1 1 3 1"), res.get(1)); assertEquals(("2 1 2 3 2"), res.get(2)); } }