blob: b5f9e5939bbcdcd7337d792944cccba3b044e01d [file] [log] [blame]
package org.eclipse.jst.jsf.validation.el.tests.jsp;
import java.util.List;
import org.eclipse.jdt.core.Signature;
import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
import org.eclipse.jst.jsf.core.IJSFCoreConstants;
import org.eclipse.jst.jsf.validation.el.tests.base.SingleJSPTestCase;
import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
/**
* Test suite for arithmetic remainder (mod, %)
* @author cbateman
*
*/
public class ArithmeticModuloTestCase extends SingleJSPTestCase
{
public ArithmeticModuloTestCase()
{
super("/testdata/jsps/arithmeticModulo.jsp.data", "/WEB-INF/arithmeticModulo.jsp", IJSFCoreConstants.FACET_VERSION_1_1,FACES_CONFIG_FILE_NAME_1_1);
}
protected void setUp() throws Exception
{
super.setUp();
}
public void testSanity()
{
super.testSanity();
assertEquals("myBean.integerProperty % 3", getELText(_structuredDocument,852));
assertEquals("myBean.integerProperty mod 3", getELText(_structuredDocument,912));
assertEquals("myBean.stringProperty % 3", getELText(_structuredDocument,974));
assertEquals("myBean.stringProperty mod 3", getELText(_structuredDocument,1033));
assertEquals("myBean.integerProperty % myBean.integerProperty", getELText(_structuredDocument,1094));
assertEquals("myBean.integerProperty mod myBean.integerProperty", getELText(_structuredDocument,1175));
assertEquals("myBean.bigIntegerProperty mod 4", getELText(_structuredDocument,1258));
assertEquals("myBean.doubleProperty mod 4", getELText(_structuredDocument,1323));
assertEquals("myBean.doubleProperty mod 5.43", getELText(_structuredDocument,1383));
assertEquals("5 % 3", getELText(_structuredDocument,1472));
assertEquals("5 mod 3", getELText(_structuredDocument,1508));
assertEquals("5.5 % 4 ", getELText(_structuredDocument,1546));
assertEquals("5.5 mod 4 ", getELText(_structuredDocument,1585));
assertEquals("'5' % '4'", getELText(_structuredDocument,1629));
assertEquals("'5' mod '4'", getELText(_structuredDocument,1672));
assertEquals("null % null", getELText(_structuredDocument,1717));
assertEquals("null mod null", getELText(_structuredDocument,1762));
assertEquals("5 % true", getELText(_structuredDocument,1829));
assertEquals("5 mod true", getELText(_structuredDocument,1868));
assertEquals("myBean.stringArrayProperty % myBean.booleanProperty", getELText(_structuredDocument,1909));
assertEquals("myBean.stringArrayProperty mod myBean.booleanProperty", getELText(_structuredDocument,1991));
assertEquals("myBean.integerProperty % true ", getELText(_structuredDocument,2078));
assertEquals("myBean.integerProperty mod true ", getELText(_structuredDocument,2142));
assertEquals("'a' % 'b'", getELText(_structuredDocument,2208));
assertEquals("'a' mod 'b'", getELText(_structuredDocument,2251));
assertEquals("5.5 % null", getELText(_structuredDocument,2293));
assertEquals("5.5 mod null", getELText(_structuredDocument,2334));
assertEquals("5%0", getELText(_structuredDocument,2377));
assertEquals("5 mod 0", getELText(_structuredDocument,2411));
assertEquals("myBean.integerProperty % myBean.booleanProperty", getELText(_structuredDocument,2449));
assertEquals("myBean.integerProperty mod myBean.booleanProperty", getELText(_structuredDocument,2527));
assertEquals("myBean.bigIntegerProperty % myBean.booleanProperty", getELText(_structuredDocument,2607));
}
public void testNoErrorExprs()
{
assertNoError(852,Signature.SIG_LONG);
assertNoError(912, Signature.SIG_LONG);
assertNoError(974, Signature.SIG_LONG);
assertNoError(1033, Signature.SIG_LONG);
assertNoError(1094, Signature.SIG_LONG);
assertNoError(1175, Signature.SIG_LONG);
assertNoError(1258, TypeConstants.TYPE_BIG_INTEGER);
assertNoError(1323, Signature.SIG_DOUBLE);
assertNoError(1383, Signature.SIG_DOUBLE);
}
public void testWarningExprs()
{
List list = assertSemanticWarning(1472, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1508, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1546, Signature.SIG_DOUBLE, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1585, Signature.SIG_DOUBLE, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1629, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1672, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1717, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID);
list = assertSemanticWarning(1762, Signature.SIG_LONG, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID);
}
public void testErrorExprs()
{
List list = assertSemanticError(1829, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(1868, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(1909, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(1991, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2078, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2142, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2208, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2251, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2293, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2334, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2377, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2411, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2449, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2527, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2607, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2688, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID);
list = assertSemanticError(2752, null, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
}
}