com.singularsys.jeptests.system

## Class BugsTest

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

-     public class BugsTest
      extends java.lang.Object

  This class is intended to contain all tests related to reported bugs.
  Author:
    Nathan Funk

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `BugsTest.StackMessingFunc` A function which can incorrectly read the stack.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BugsTest()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `andCustomOperatorWorks()`
    `void` | `findNewVariables()`
    `void` | `orCustomOperatorWorks()`
    `void` | `PosZeroTest()`
    `void` | `setUp()`
    `void` | `StackCorruptionTest()` Uses a special evaluator to check for stack errors
    `void` | `test1_9_11()`
    `void` | `test167()` See ticked 167
    `void` | `test18April2013()`
    `void` | `test2008_08_14_switch()`
    `void` | `test2008_12_13()`
    `void` | `test2009_02_02()`
    `void` | `test2009_02_16()`
    `void` | `test31_8_11()`
    `void` | `test31Jan2010()`
    `void` | `testAlternateSymbolBug()`
    `void` | `testAlternateSymbols()` Tests for other symbols used.
    `void` | `testBigDecRoundMode()`
    `void` | `testBug116()`
    `void` | `testBug121A()` Tests a custom operator table with only 5 operators, see bug #121
    `void` | `testBug122()`
    `void` | `testBug123()`
    `void` | `testBug2008_09_12()`
    `void` | `testBug23_11_09()`
    `void` | `testBug28()`
    `void` | `testBug30_10_09()`
    `void` | `testBug49()` Tests bug 49.
    `void` | `testBug72()` Test bug #72 Handling of Constants.
    `void` | `testBug84()`
    `void` | `testCarWalk()`
    `void` | `testChangeOperatorSymbols()`
    `void` | `testChinese()` Test for non latin variable names
    `void` | `testClearValues()` See http://stackoverflow.com/questions/36928755/strange-behavior-in-singularsys-jep
    `void` | `testCommaNumber()`
    `void` | `testDottedIdentifiers()`
    `void` | `testEvaluationPath()`
    `void` | `testExpressionOrdering()` Tests use of TreeAnalyzer to work out the order of expressions.
    `void` | `testExpressionOrderingMultiLine()` Tests use of TreeAnalyzer to work out the order of expressions.
    `void` | `testFractalBug()` Tests a bug that lead the FractalCanvas example to fail
    `void` | `testGetNonConstantVaraibles()`
    `void` | `testJexParser()`
    `void` | `testMultiLineLoop()` Tests use of TreeAnalyzer to work out the order of expressions.
    `void` | `testNamesWithSpaces()`
    `void` | `testNullWrapBigDec()`
    `void` | `testNullWrapMin()`
    `void` | `testNumbersAsStrings()` | `void` | `testPrefixOperators()`
    `void` | `testRegExpOp()`
    `void` | `testSetAllowUndeclared()` Tests bug [ 1585128 ] setAllowUndeclared does not work!!!
    `void` | `testSlope()`
    `void` | `testToBase()`
    `void` | `testVectorExpressionBug_Version_3_30()`

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

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

- - ### Constructor Detail

    - #### BugsTest

          public BugsTest()

  - ### Method Detail

    - #### setUp

          public void setUp()

    - #### testFractalBug

          public void testFractalBug()
                              throws java.lang.Exception

      Tests a bug that lead the FractalCanvas example to fail. (09/04/2007)
      Throws:
        `java.lang.Exception`

    - #### testSetAllowUndeclared

          public void testSetAllowUndeclared()

      Tests bug [ 1585128 ] setAllowUndeclared does not work!!! setAllowedUndeclared should add variables to the symbol table. This test parses the expression "x" and checks whether only the variable x is in the symbol table (no more no less)

    - #### testBug49

          public void testBug49()

      Tests bug 49. Adding an operator such as "AND" does not work. Instead of being interpreted as and operator it is parsed as a variable.

    - #### testBug72

          public void testBug72()

      Test bug #72 Handling of Constants. Sets a constant and then tries to set the value again. The bug was that addVariable failed silently, and the fix was to add exception throwing to addVariable.

    - #### test2008_08_14_switch

          public void test2008_08_14_switch()
                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testToBase

          public void testToBase()
                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testBug2008_09_12

          public void testBug2008_09_12()

    - #### testBug84

          public void testBug84()
                         throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testBug28

          public void testBug28()
                         throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### test2008_12_13

          public void test2008_12_13()
                              throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### test2009_02_02

          public void test2009_02_02()
                              throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### test2009_02_16

          public void test2009_02_16()

    - #### testBug116

          public void testBug116()
                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testBug121A

          public void testBug121A()
                           throws java.lang.Exception

      Tests a custom operator table with only 5 operators, see bug #121
      Throws:
        `java.lang.Exception`

    - #### testBug122

          public void testBug122()
                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testBug123

          public void testBug123()
                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testBug30_10_09

          public void testBug30_10_09()
                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testBug23_11_09

          public void testBug23_11_09()

    - #### testDottedIdentifiers

          public void testDottedIdentifiers()
                                     throws ParseException

      Throws:
        `ParseException`

    - #### test31Jan2010

          public void test31Jan2010()
                             throws JepException

      Throws:
        `JepException`

    - #### testNamesWithSpaces

          public void testNamesWithSpaces()
                                   throws JepException

      Throws:
        `JepException`

    - #### testChinese

          public void testChinese()
                           throws ParseException

      Test for non latin variable names
      Throws:
        `ParseException`

    - #### testVectorExpressionBug_Version_3_30

          public void testVectorExpressionBug_Version_3_30()
                                                    throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testBigDecRoundMode

          public void testBigDecRoundMode()
                                   throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testAlternateSymbols

          public void testAlternateSymbols()
                                    throws java.lang.Exception

      Tests for other symbols used. Minus sign is actually unicode U+2013
      Throws:
        `java.lang.Exception`

    - #### testChangeOperatorSymbols

          public void testChangeOperatorSymbols()
                                         throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testAlternateSymbolBug

          public void testAlternateSymbolBug()
                                      throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### test167

          public void test167()
                       throws java.lang.Exception

      See ticked 167
      Throws:
        `java.lang.Exception`

    - #### testCarWalk

          public void testCarWalk()
                           throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testPrefixOperators

          public void testPrefixOperators()
                                   throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testNullWrapMin

          public void testNullWrapMin()
                               throws JepException

      Throws:
        `JepException`

    - #### test1_9_11

          public void test1_9_11()
                          throws ParseException,
                                 java.lang.Exception

      Throws:
        `ParseException`
        `java.lang.Exception`

    - #### test31_8_11

          public void test31_8_11()
                           throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testExpressionOrdering

          public void testExpressionOrdering()
                                      throws ParseException,
                                             java.lang.Exception

      Tests use of TreeAnalyzer to work out the order of expressions.
      Throws:
        `ParseException`
        `java.lang.Exception`

    - #### andCustomOperatorWorks

          public void andCustomOperatorWorks()
                                      throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### orCustomOperatorWorks

          public void orCustomOperatorWorks()
                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### findNewVariables

          public void findNewVariables()
                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testMultiLineLoop

          public void testMultiLineLoop()
                                 throws ParseException,
                                        java.lang.Exception

      Tests use of TreeAnalyzer to work out the order of expressions.
      Throws:
        `ParseException`
        `java.lang.Exception`

    - #### testExpressionOrderingMultiLine

          public void testExpressionOrderingMultiLine()
                                               throws ParseException,
                                                      java.lang.Exception

      Tests use of TreeAnalyzer to work out the order of expressions.
      Throws:
        `ParseException`
        `java.lang.Exception`

    - #### testEvaluationPath

          public void testEvaluationPath()
                                  throws JepException

      Throws:
        `JepException`

    - #### testNumbersAsStrings

          public void testNumbersAsStrings()
                                    throws JepException

      forum
      Throws:
        `JepException`

    - #### testRegExpOp

          public void testRegExpOp()
                            throws JepException

      Throws:
        `JepException`

    - #### testGetNonConstantVaraibles

          public void testGetNonConstantVaraibles()
                                           throws JepException

      Throws:
        `JepException`

    - #### testCommaNumber

          public void testCommaNumber()
                               throws JepException

      Throws:
        `JepException`

    - #### test18April2013

          public void test18April2013()
                               throws JepException

      Throws:
        `JepException`

    - #### testJexParser

          public void testJexParser()
                             throws JepException

      Throws:
        `JepException`

    - #### testNullWrapBigDec

          public void testNullWrapBigDec()
                                  throws JepException

      Throws:
        `JepException`

    - #### testSlope

          public void testSlope()
                         throws JepException

      Throws:
        `JepException`

    - #### testClearValues

          public void testClearValues()
                               throws JepException

      See http://stackoverflow.com/questions/36928755/strange-behavior-in-singularsys-jep
      Throws:
        `JepException`

    - #### PosZeroTest

          public void PosZeroTest()
                           throws JepException

      Throws:
        `JepException`

    - #### StackCorruptionTest

          public void StackCorruptionTest()
                                   throws JepException

      Uses a special evaluator to check for stack errors
      Throws:
        `JepException`

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