Class RETest

java.lang.Object
org.apache.regexp.RETest

public class RETest extends Object
Data driven (and optionally interactive) testing harness to exercise regular expression compiler and matching engine.
Version:
$Id: RETest.java 518156 2007-03-14 14:31:26Z vgritsenko $
Author:
Jonathan Locke, Jon S. Stevens, Michael McCallum
  • Field Details

    • showSuccesses

      static final boolean showSuccesses
      See Also:
    • NEW_LINE

      static final String NEW_LINE
    • compiler

      final REDebugCompiler compiler
    • testCount

      int testCount
    • failures

      int failures
  • Constructor Details

    • RETest

      public RETest()
      Constructor
  • Method Details

    • main

      public static void main(String[] args)
      Main program entrypoint. If an argument is given, it will be compiled and interactive matching will ensue. If no argument is given, the file RETest.txt will be used as automated testing input.
      Parameters:
      args - Command line arguments (optional regular expression)
    • test

      public static boolean test(String[] args) throws Exception
      Testing entrypoint.
      Parameters:
      args - Command line arguments
      Throws:
      Exception - thrown in case of error
    • runInteractiveTests

      void runInteractiveTests(String expr)
      Compile and test matching against a single expression
      Parameters:
      expr - Expression to compile and test
    • die

      void die(String s)
      Exit with a fatal error.
      Parameters:
      s - Last famous words before exiting
    • fail

      void fail(StringBuffer log, String s)
      Fail with an error. Will print a big failure message to System.out.
      Parameters:
      log - Output before failure
      s - Failure description
    • fail

      void fail(String s)
      Fail with an error. Will print a big failure message to System.out.
      Parameters:
      s - Failure description
    • say

      void say(String s)
      Say something to standard out
      Parameters:
      s - What to say
    • showParens

      void showParens(RE r)
      Dump parenthesized subexpressions found by a regular expression matcher object
      Parameters:
      r - Matcher object with results to show
    • runAutomatedTests

      void runAutomatedTests(String testDocument) throws Exception
      Run automated tests in RETest.txt file (from Perl 4.0 test battery)
      Throws:
      Exception - thrown in case of error
    • testOther

      void testOther() throws Exception
      Run automated unit test
      Throws:
      Exception - thrown in case of error
    • testPrecompiledRE

      private void testPrecompiledRE()
    • testSplitAndGrep

      private void testSplitAndGrep()
    • testSubst

      private void testSubst()
    • assertEquals

      public void assertEquals(String message, String expected, String actual)
    • assertEquals

      public void assertEquals(String message, int expected, int actual)
    • getExpectedResult

      private boolean getExpectedResult(String yesno)
      Converts yesno string to boolean.
      Parameters:
      yesno - string representation of expected result
      Returns:
      true if yesno is "YES", false if yesno is "NO" stops program otherwise.
    • findNextTest

      private String findNextTest(BufferedReader br) throws IOException
      Finds next test description in a given script.
      Parameters:
      br - BufferedReader for a script file
      Returns:
      strign tag for next test description
      Throws:
      IOException - if some io problems occured
    • getNextTestCase

      private RETestCase getNextTestCase(BufferedReader br) throws IOException
      Creates testcase for the next test description in the script file.
      Parameters:
      br - BufferedReader for script file.
      Returns:
      a new tescase or null.
      Throws:
      IOException - if some io problems occured