Package com.singularsys.jeptests.system
Class JepTest
- java.lang.Object
-
- com.singularsys.jeptests.system.JepTest
-
- Direct Known Subclasses:
CPTest
,ExtendedParserTest
,FieldTest
,NullWrapTest
,PostfixEvalTest
,RpTest
,StandardEvaluatorTest
,UncheckedEvalTest
,XJepDualTest
,XJepTest
public class JepTest extends java.lang.Object
Tests various functions on the Jep class. The current implementation tests using the default setup with the JavaCC parser.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JepTest.AddFractionsNary
static class
JepTest.AddFractionsStack
static class
JepTest.Diff
class
JepTest.MyBinary
class
JepTest.MyNary
class
JepTest.MyNaryBinary
class
JepTest.MyNullary
class
JepTest.MyUnary
static class
JepTest.PiFun
static class
JepTest.Product
static class
JepTest.Square
-
Field Summary
Fields Modifier and Type Field Description protected Jep
jep
The parserprotected java.lang.Object
myFalse
protected java.lang.Object
myTrue
static boolean
PRINT_RESULTS
-
Constructor Summary
Constructors Constructor Description JepTest()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
assertEqNodes(java.lang.String s, Node expected, Node actual)
protected java.lang.Object
buildMatrix(java.lang.Object[]... eles)
protected java.lang.Object
buildVector(java.lang.Object... eles)
protected java.lang.Object
calcValue(Node node)
Calculate the value of an expression.protected java.lang.Object
calcValue(java.lang.String expr)
Calculate the value of an expression.void
checkVector(java.lang.Object[] expected, java.lang.Object actual)
protected boolean
compareRecursive(Node node1, Node node2)
protected void
complexValueTest(java.lang.String expr, Complex expected, double tol)
Test parse-evaluate with complex number and given tolerance.protected void
myAssertEquals(java.lang.String msg, java.lang.Object expected, java.lang.Object actual)
protected void
myAssertNaN(java.lang.String msg, java.lang.Object actual)
protected void
myAssertNull(java.lang.String msg, java.lang.Object actual)
protected java.lang.Object
negativeZero()
static void
nodeTest(Node n, Operator op)
static void
nodeTest(Node n, Variable v)
static void
nodeTest(Node n, java.lang.Object v)
static void
nodeTest(Node n, java.lang.String name)
protected void
printTestHeader(java.lang.String str)
Prints a header with the name of the test as specified in str.protected void
setShiftZeroElePfmc()
void
setUp()
Sets up the parser.void
test_not_X_Y()
void
testAssign()
void
testBinom()
void
testBlankParser()
Test creating a Jep instance with no functions and no variables.void
testCaseNull()
void
testCaseString()
void
testChangeVariable()
Test changing variables value after parsingvoid
testChangeVariableComplex()
Test changing variables value after parsingvoid
testComments()
void
testComplex()
void
testComplexListAccess()
void
testEleUnit()
void
testEmptyEqn()
void
testEmptyEqn2()
void
testEvalExceptions()
Test whether evaluation exceptions are thrown when they should be.void
testEvaluate()
Tests the evaluate() method.void
testEvaluateComplex()
void
testEvaluateString()
void
testExpectedTokenSequence()
Tests for bug #52void
testFormat()
void
testFunction()
void
testIf()
void
testImplicitMul()
void
testLazyLogical()
void
testLazyLogical2()
void
testLazyLogicalBug()
Test for bug with 1&&1&&1void
testListAccess()
void
testListAccessShiftZero()
void
testListExtra()
void
testListFunctions()
void
testLogarithm()
void
testLogical()
void
testMacroFunction()
void
testMultiDimArray()
void
testMultiDimArrayShiftZero()
void
testMultiLine()
void
testMultiplyBug()
void
testNaN()
void
testNoAssign()
void
testNull()
void
testNumberAsBooleanLogical()
void
testNumbers()
void
testNumParam()
void
testParseException()
Tests whether a parse exceptions are thrown when they should be.void
testPlusPlus()
void
testRecursiveMacroFunction()
void
testSemiColon()
void
testSetAllowUndeclared()
Tests whether allowUndeclared is working properly.void
testSimpleSum()
void
testSpecialFunctions()
void
testSpecialFunctions(boolean hasRealEval, boolean hasCallback)
void
testStrings()
void
testStringsFun()
void
testSwitch()
void
testUminusPower()
void
testX2Y()
protected void
valueTest(java.lang.String expr, double a, double tol)
Test values to within a given precisionprotected void
valueTest(java.lang.String expr, java.lang.Object expected)
Test result j.evaluate(j.parse(expr))protected void
valueTestFail(java.lang.String expr)
Test whether evaluating an expression results in an exceptionprotected void
valueTestNaN(java.lang.String expr)
Test whether an expression evaluates to NaNprotected void
valueTestNull(java.lang.String expr)
protected void
valueTestString(java.lang.String expr, java.lang.String expected)
-
-
-
Field Detail
-
PRINT_RESULTS
public static final boolean PRINT_RESULTS
- See Also:
- Constant Field Values
-
jep
protected Jep jep
The parser
-
myTrue
protected java.lang.Object myTrue
-
myFalse
protected java.lang.Object myFalse
-
-
Method Detail
-
setUp
public void setUp()
Sets up the parser.
-
printTestHeader
protected void printTestHeader(java.lang.String str)
Prints a header with the name of the test as specified in str.
-
valueTest
protected void valueTest(java.lang.String expr, java.lang.Object expected) throws java.lang.Exception
Test result j.evaluate(j.parse(expr))- Parameters:
expr
- the expression to parse and evaluateexpected
- result expected- Throws:
java.lang.Exception
-
calcValue
protected java.lang.Object calcValue(Node node) throws java.lang.Exception
Calculate the value of an expression.- Parameters:
node
-- Throws:
java.lang.Exception
-
calcValue
protected java.lang.Object calcValue(java.lang.String expr) throws java.lang.Exception
Calculate the value of an expression.- Parameters:
expr
-- Throws:
java.lang.Exception
-
myAssertEquals
protected void myAssertEquals(java.lang.String msg, java.lang.Object expected, java.lang.Object actual) throws EvaluationException
- Throws:
EvaluationException
-
myAssertNaN
protected void myAssertNaN(java.lang.String msg, java.lang.Object actual)
-
myAssertNull
protected void myAssertNull(java.lang.String msg, java.lang.Object actual)
-
valueTestNull
protected void valueTestNull(java.lang.String expr) throws java.lang.Exception
- Throws:
java.lang.Exception
-
valueTestNaN
protected void valueTestNaN(java.lang.String expr) throws java.lang.Exception
Test whether an expression evaluates to NaN- Parameters:
expr
-- Throws:
java.lang.Exception
-
valueTestFail
protected void valueTestFail(java.lang.String expr) throws java.lang.Exception
Test whether evaluating an expression results in an exception- Parameters:
expr
-- Throws:
java.lang.Exception
-
valueTestString
protected void valueTestString(java.lang.String expr, java.lang.String expected) throws java.lang.Exception
- Throws:
java.lang.Exception
-
complexValueTest
protected void complexValueTest(java.lang.String expr, Complex expected, double tol) throws java.lang.Exception
Test parse-evaluate with complex number and given tolerance.- Parameters:
expr
-expected
-tol
-- Throws:
java.lang.Exception
-
valueTest
protected void valueTest(java.lang.String expr, double a, double tol) throws java.lang.Exception
Test values to within a given precision- Parameters:
expr
- expressiona
- the expected valuetol
- tolerance- Throws:
java.lang.Exception
-
nodeTest
public static void nodeTest(Node n, java.lang.String name)
-
nodeTest
public static void nodeTest(Node n, java.lang.Object v)
-
testSimpleSum
public void testSimpleSum() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testEvaluate
public void testEvaluate() throws java.lang.Exception
Tests the evaluate() method.- Throws:
java.lang.Exception
-
testEvaluateComplex
public void testEvaluateComplex() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testEvaluateString
public void testEvaluateString() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testChangeVariable
public void testChangeVariable() throws java.lang.Exception
Test changing variables value after parsing- Throws:
java.lang.Exception
-
testChangeVariableComplex
public void testChangeVariableComplex() throws java.lang.Exception
Test changing variables value after parsing- Throws:
java.lang.Exception
-
testSetAllowUndeclared
public void testSetAllowUndeclared() throws java.lang.Exception
Tests whether allowUndeclared is working properly.- Throws:
java.lang.Exception
-
negativeZero
protected java.lang.Object negativeZero()
-
testNumbers
public void testNumbers() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testStrings
public void testStrings() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testStringsFun
public void testStringsFun() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testNumberAsBooleanLogical
public void testNumberAsBooleanLogical() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testLogical
public void testLogical() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testNull
public void testNull() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testNaN
public void testNaN() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testComplex
public void testComplex() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testFunction
public void testFunction() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testIf
public void testIf() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testPlusPlus
public void testPlusPlus() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testImplicitMul
public void testImplicitMul() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testUminusPower
public void testUminusPower() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testNumParam
public void testNumParam() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testBinom
public void testBinom() throws ParseException, java.lang.Exception
- Throws:
ParseException
java.lang.Exception
-
testFormat
public void testFormat() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testAssign
public void testAssign() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testMultiplyBug
public void testMultiplyBug() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testNoAssign
public void testNoAssign() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testLazyLogical
public void testLazyLogical() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testLazyLogical2
public void testLazyLogical2() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testLazyLogicalBug
public void testLazyLogicalBug() throws java.lang.Exception
Test for bug with 1&&1&&1- Throws:
java.lang.Exception
-
testLogarithm
public void testLogarithm() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testBlankParser
public void testBlankParser() throws java.lang.Exception
Test creating a Jep instance with no functions and no variables.- Throws:
java.lang.Exception
-
testMacroFunction
public void testMacroFunction() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testRecursiveMacroFunction
public void testRecursiveMacroFunction() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testParseException
public void testParseException()
Tests whether a parse exceptions are thrown when they should be. See ticket #50 Tests on both the standard parser and the configurable parser, is carried out by CPTest which extends this.
-
testEvalExceptions
public void testEvalExceptions()
Test whether evaluation exceptions are thrown when they should be.
-
testSemiColon
public void testSemiColon() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testMultiLine
public void testMultiLine() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testEmptyEqn
public void testEmptyEqn() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testComments
public void testComments() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testEmptyEqn2
public void testEmptyEqn2() throws java.lang.Exception
- Throws:
java.lang.Exception
-
test_not_X_Y
public void test_not_X_Y() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testX2Y
public void testX2Y() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testExpectedTokenSequence
public void testExpectedTokenSequence()
Tests for bug #52
-
testSwitch
public void testSwitch() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testCaseString
public void testCaseString() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testCaseNull
public void testCaseNull() throws java.lang.Exception
- Throws:
java.lang.Exception
-
buildVector
protected java.lang.Object buildVector(java.lang.Object... eles) throws java.lang.Exception
- Throws:
java.lang.Exception
-
buildMatrix
protected java.lang.Object buildMatrix(java.lang.Object[]... eles) throws java.lang.Exception
- Throws:
java.lang.Exception
-
testComplexListAccess
public void testComplexListAccess() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testListAccess
public void testListAccess() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testListAccessShiftZero
public void testListAccessShiftZero() throws java.lang.Exception
- Throws:
java.lang.Exception
-
checkVector
public void checkVector(java.lang.Object[] expected, java.lang.Object actual) throws EvaluationException
- Throws:
EvaluationException
-
testEleUnit
public void testEleUnit() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testMultiDimArray
public void testMultiDimArray() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testMultiDimArrayShiftZero
public void testMultiDimArrayShiftZero() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testListFunctions
public void testListFunctions() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testListExtra
public void testListExtra() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testSpecialFunctions
public void testSpecialFunctions() throws java.lang.Exception
- Throws:
java.lang.Exception
-
testSpecialFunctions
public void testSpecialFunctions(boolean hasRealEval, boolean hasCallback) throws java.lang.Exception
- Throws:
java.lang.Exception
-
setShiftZeroElePfmc
protected void setShiftZeroElePfmc()
-
-