package org.mvel2.tests.core;
import org.mvel2.MVEL;
import static org.mvel2.MVEL.compileExpression;
import static org.mvel2.MVEL.executeExpression;
/**
* @author Mike Brock .
*/
public class LiteralParsingTests extends AbstractTest {
public void testClassLiteral() {
assertEquals(String.class,
test("java.lang.String"));
}
public void testAndOpLiteral() {
assertEquals(true,
test("true && true"));
}
public void testLiteralUnionWithComparison() {
assertEquals(Boolean.TRUE,
executeExpression(compileExpression("1 == 1 && ('Hello'.toUpperCase() ~= '[A-Z]{0,5}')")));
}
public void testHexCharacter() {
assertEquals(0x0A,
MVEL.eval("0x0A"));
}
public void testOctalEscapes() {
assertEquals("\344",
MVEL.eval("'\\344'"));
}
public void testOctalEscapes2() {
assertEquals("\7",
MVEL.eval("'\\7'"));
}
public void testOctalEscapes3() {
assertEquals("\777",
MVEL.eval("'\\777'"));
}
public void testUniHex1() {
assertEquals("\uFFFF::",
MVEL.eval("'\\uFFFF::'"));
}
public void testNumLiterals() {
assertEquals(1e1f,
MVEL.eval("1e1f"));
}
public void testNumLiterals2() {
assertEquals(2.f,
MVEL.eval("2.f"));
}
public void testNumLiterals3() {
assertEquals(.3f,
MVEL.eval(".3f"));
}
public void testNumLiterals4() {
assertEquals(3.14f,
MVEL.eval("3.14f"));
}
public void testNumLiterals5() {
assertEquals(1e1,
MVEL.eval("1e1"));
}
public void testNumLiterals6() {
assertEquals(2.,
MVEL.eval("2."));
}
public void testNumLiterals7() {
assertEquals(.3,
MVEL.eval(".3"));
}
public void testNumLiterals8() {
assertEquals(1e-9d,
MVEL.eval("1e-9d"));
}
public void testNumLiterals9() {
assertEquals(0x400921FB54442D18L,
MVEL.eval("0x400921FB54442D18L"));
}
}