package test.parser.ps;
import static org.junit.Assert.assertEquals;
import net.sf.latexdraw.parsers.ps.InvalidFormatPSFunctionException;
import net.sf.latexdraw.parsers.ps.PSExchCommand;
import org.junit.Test;
public class TestPSExchCommand extends TestPSCommand<PSExchCommand> {
@Override protected PSExchCommand createCmd() { return new PSExchCommand(); }
@Override @Test
public void testExecuteVal0() throws InvalidFormatPSFunctionException {
dequeue.push(0.0);
dequeue.push(10.0);
cmd.execute(dequeue, 0.0);
assertEquals(0.0,dequeue.peek(),0.0);
assertEquals(10.0,dequeue.getLast(),0.0);
assertEquals(2,dequeue.size());
}
@Override @Test
public void testExecuteValNeg() throws InvalidFormatPSFunctionException {
dequeue.push(-20.0);
dequeue.push(-10.0);
cmd.execute(dequeue, 0.0);
assertEquals(-20.0,dequeue.pop(),0.0);
assertEquals(-10.0,dequeue.pop(),0.0);
}
@Override @Test
public void testExecuteValPos() throws InvalidFormatPSFunctionException {
dequeue.push(20.0);
dequeue.push(10.0);
cmd.execute(dequeue, 0.0);
assertEquals(20.0,dequeue.peek(),0.0);
assertEquals(10.0,dequeue.getLast(),0.0);
assertEquals(2,dequeue.size());
}
@Override @Test(expected=InvalidFormatPSFunctionException.class)
public void testExecuteInvalidDequeueSize() throws InvalidFormatPSFunctionException {
cmd.execute(dequeue, 0.0);
}
@Test(expected=InvalidFormatPSFunctionException.class)
public void testExecuteInvalidDequeueSize1() throws InvalidFormatPSFunctionException {
dequeue.push(20.0);
cmd.execute(dequeue, 0.0);
}
}