package it.enricod.joy.parser;
import static org.junit.Assert.*;
import java.math.BigDecimal;
import org.apache.commons.math.util.BigReal;
import org.junit.Test;
import it.enricod.joy.IStack;
public class BaseParserTest {
@Test
public void parse001() {
String str = "2 3 + ";
BaseParser parser = new BaseParser();
IStack stack = parser.parse(str);
assertEquals(3, stack.getSize());
}
@Test
public void parse002() {
String str = "2 3 + .";
BaseParser parser = new BaseParser();
IStack stack = parser.parse(str);
assertEquals(1, stack.getSize());
assertEquals(new BigDecimal(5), ((BigReal)stack.peek().getElement()).bigDecimalValue());
}
@Test
public void parse003() {
String str = "2 3 - .";
BaseParser parser = new BaseParser();
IStack stack = parser.parse(str);
assertEquals(1, stack.getSize());
assertEquals(new BigDecimal(-1), ((BigReal)stack.peek().getElement()).bigDecimalValue());
}
@Test
public void parseMultiply() {
String str = "2 3 * .";
BaseParser parser = new BaseParser();
IStack stack = parser.parse(str);
assertEquals(1, stack.getSize());
assertEquals(new BigDecimal(6), ((BigReal)stack.peek().getElement()).bigDecimalValue());
}
}