com.singularsys.jeptests.system

## Class JepTest

- java.lang.Object
- - com.singularsys.jeptests.system.JepTest

- Direct Known Subclasses:
    CPTest, ExtendedParserTest, NullWrapTest, PostfixEvalTest, StandardEvaluatorTest

      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.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Jep` | `jep` The parser
    `protected java.lang.Object` | `myFalse`
    `protected java.lang.Object` | `myTrue`
    `static boolean` | `PRINT_RESULTS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JepTest()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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, java.lang.Object v)`
    `static void` | `nodeTest(Node n, Operator op)`
    `static void` | `nodeTest(Node n, java.lang.String name)`
    `static void` | `nodeTest(Node n, Variable v)`
    `protected void` | `printTestHeader(java.lang.String str)` Prints a header with the name of the test as specified in str.
    `void` | `setUp()` Sets up the parser.
    `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 parsing
    `void` | `testChangeVariableComplex()` Test changing variables value after parsing
    `void` | `testComments()`
    `void` | `testComplex()`
    `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 #52
    `void` | `testFormat()`
    `void` | `testFunction()`
    `void` | `testIf()`
    `void` | `testImplicitMul()`
    `void` | `testLazyLogical()`
    `void` | `testLazyLogical2()`
    `void` | `testLazyLogicalBug()` Test for bug with 1&&1&&1
    `void` | `testListAccess()`
    `void` | `testListExtra()`
    `void` | `testListFunctions()`
    `void` | `testLogarithm()`
    `void` | `testLogical()`
    `void` | `testMacroFunction()`
    `void` | `testMultiDimArray()`
    `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 precision
    `protected 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 exception
    `protected void` | `valueTestNaN(java.lang.String expr)` Test whether an expression evaluates to NaN
    `protected void` | `valueTestNull(java.lang.String expr)`
    `protected void` | `valueTestString(java.lang.String expr, java.lang.String expected)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

  - ### Constructor Detail

    - #### JepTest

          public JepTest()

  - ### 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 evaluate
        `expected` - 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` - expression
        `a` - the expected value
        `tol` - tolerance
      Throws:
        `java.lang.Exception`

    - #### nodeTest

          public static void nodeTest(Node n,
                                      Operator op)

    - #### nodeTest

          public static void nodeTest(Node n,
                                      java.lang.String name)

    - #### nodeTest

          public static void nodeTest(Node n,
                                      Variable v)

    - #### nodeTest

          public static void nodeTest(Node n,
                                      java.lang.Object v)

    - #### compareRecursive

          protected boolean compareRecursive(Node node1,
                                             Node node2)

    - #### assertEqNodes

          protected void assertEqNodes(java.lang.String s,
                                       Node expected,
                                       Node actual)

    - #### 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`

    - #### 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`

    - #### testListAccess

          public void testListAccess()
                              throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### checkVector

          public void checkVector(java.lang.Object[] expected,
                                  java.lang.Object actual)
                           throws EvaluationException

      Throws:
        `EvaluationException`

    - #### testMultiDimArray

          public void testMultiDimArray()
                                 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`

Copyright © 2018 Singular Systems http://www.singularsys.com/jep