@Test
public void getExpressionTypeTest() {

    assertEquals(Double.class, getExpressionType(null, typeResolver, StaticJavaParser.parseExpression("new Double[]{2.0d, 3.0d}[1]"), null));
    assertEquals(Float.class, getExpressionType(null, typeResolver, StaticJavaParser.parseExpression("new Float[]{2.0d, 3.0d}"), null));
    assertEquals(boolean.class, getExpressionType(null, typeResolver, new BooleanLiteralExpr(true), null));
    assertEquals(char.class, getExpressionType(null, typeResolver, new CharLiteralExpr('a'), null));
    assertEquals(double.class, getExpressionType(null, typeResolver, new DoubleLiteralExpr(2.0d), null));
    assertEquals(int.class, getExpressionType(null, typeResolver, new IntegerLiteralExpr(2), null));
    assertEquals(long.class, getExpressionType(null, typeResolver, new LongLiteralExpr(2l), null));
    assertEquals(ClassUtil.NullType.class, getExpressionType(null, typeResolver, new NullLiteralExpr(), null));
    assertEquals(String.class, getExpressionType(null, typeResolver, new StringLiteralExpr(""), null));
}