JAL-1270 JAL-1889 move the stevesoft test back into stevesoft package. It tests code...
authorJim Procter <jprocter@issues.jalview.org>
Fri, 18 Sep 2015 15:27:33 +0000 (16:27 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Fri, 18 Sep 2015 15:27:33 +0000 (16:27 +0100)
src/com/stevesoft/pat/RegexWriter.java
test/com/stevesoft/pat/RegexWriterTest.java [deleted file]

index 61bcdf6..57e2170 100755 (executable)
@@ -8,6 +8,7 @@
 package com.stevesoft.pat;
 
 import java.io.IOException;
+import java.io.StringWriter;
 import java.io.Writer;
 
 import com.stevesoft.pat.wrap.WriterWrap;
@@ -231,4 +232,51 @@ public class RegexWriter extends Writer
   {
     bufferSize = i;
   }
+
+  static void test(String re, String inp, int n) throws Exception
+  {
+    StringWriter sw = new StringWriter();
+    Regex rex = Regex.perlCode(re);
+    String res1 = rex.replaceAll(inp);
+    RegexWriter rw = new RegexWriter(rex, sw);
+    for (int i = 0; i < inp.length(); i++)
+    {
+      rw.write(inp.charAt(i));
+    }
+    rw.close();
+    String res2 = sw.toString();
+    if (!res1.equals(res2))
+    {
+      System.out.println("nmax=" + n);
+      System.out.println("re=" + re);
+      System.out.println("inp=" + inp);
+      System.out.println("res1=" + res1);
+      System.out.println("res2=" + res2);
+      System.exit(255);
+    }
+  }
+
+  public static void main(String[] args) throws Exception
+  {
+    for (int n = 1; n <= 1; n++)
+    {
+      test("s/x/y/", "-----x123456789", n);
+      test("s/x/y/", "x123456789", n);
+      test("s/x/y/", "-----x", n);
+      test("s/x.*?x/y/", ".xx..x..x...x...x....x....x", n);
+      test("s/x.*x/[$&]/", "--x........x--xx", n);
+      test("s/x.*x/[$&]/", "--x........x------", n);
+      test("s/.$/a/m", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbbbbbbbbbbbb", n);
+      test("s/.$/a/", "123", n);
+      test("s/.$/a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb", n);
+      test("s/^./a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb", n);
+      test("s/$/a/", "bbb", n);
+      test("s/^/a/", "bbb", n);
+      test("s/^/a/", "", n);
+      test("s{.*}{N}", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", n);
+      test("s/.{0,7}/y/", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", n);
+      test("s/x/$&/", "xxx", n);
+    }
+    System.out.println("Success!!!");
+  }
 }
diff --git a/test/com/stevesoft/pat/RegexWriterTest.java b/test/com/stevesoft/pat/RegexWriterTest.java
deleted file mode 100644 (file)
index 4c06f66..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ The Jalview Authors
- * 
- * This file is part of Jalview.
- * 
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3
- * of the License, or (at your option) any later version.
- *  
- * Jalview is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty 
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
- * PURPOSE.  See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package com.stevesoft.pat;
-
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.io.IOException;
-import java.io.StringWriter;
-
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/**
- * Test class refactored from RegexWriter main method
- */
-public class RegexWriterTest
-{
-
-  /**
-   * Asserts that the result of performing 'replaceAll' on the input using the
-   * regular expression is the same as the output of a RegexWriter, constructed
-   * from the regular expression, writing out each character of the input
-   * string.
-   * 
-   * @param re
-   *          a regular expression
-   * @param inp
-   *          an input string
-   * @throws Exception
-   */
-
-  @Test(groups = { "Functional" }, dataProvider = "testWriteParam")
-  void test(String re, String inp) throws IOException
-  {
-    StringWriter sw = new StringWriter();
-    Regex rex = Regex.perlCode(re);
-    String res1 = rex.replaceAll(inp);
-    RegexWriter rw = new RegexWriter(rex, sw);
-    for (int i = 0; i < inp.length(); i++)
-    {
-      rw.write(inp.charAt(i));
-    }
-    rw.close();
-    String res2 = sw.toString();
-    if (!res1.equals(res2))
-    {
-      System.out.println("re=" + re);
-      System.out.println("inp=" + inp);
-      System.out.println("res1=" + res1);
-      System.out.println("res2=" + res2);
-      assertEquals(res1, res2);
-    }
-  }
-
-  // @Test(groups ={ "Functional" })
-  // public void testWrite() throws IOException
-  // {
-  // for (int n = 1; n <= 1; n++)
-  // {
-  // test("s/x/y/", "-----x123456789");
-  // test("s/x/y/", "x123456789");
-  // test("s/x/y/", "-----x");
-  // test("s/x.*?x/y/", ".xx..x..x...x...x....x....x");
-  // test("s/x.*x/[$&]/", "--x........x--xx");
-  // test("s/x.*x/[$&]/", "--x........x------");
-  // test("s/.$/a/m", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbbbbbbbbbbbb");
-  // test("s/.$/a/", "123");
-  // test("s/.$/a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb");
-  // test("s/^./a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb");
-  // test("s/$/a/", "bbb");
-  // test("s/^/a/", "bbb");
-  // test("s/^/a/", "");
-  // test("s{.*}{N}", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-  // test("s/.{0,7}/y/", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
-  // test("s/x/$&/", "xxx");
-  // }
-  // }
-
-  @DataProvider(name = "testWriteParam")
-  public Object[][] regexTestParams()
-  {
-    return new Object[][] { { "s/x/y/", "-----x123456789" },
-        { "s/x/y/", "x123456789" }, { "s/x/y/", "-----x" },
-        { "s/x.*?x/y/", ".xx..x..x...x...x....x....x" },
-        { "s/x.*x/[$&]/", "--x........x--xx" },
-        { "s/x.*x/[$&]/", "--x........x------" },
-        { "s/.$/a/m", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbbbbbbbbbbbb" },
-        { "s/.$/a/", "123" },
-        { "s/.$/a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb" },
-        { "s/^./a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb" },
-        { "s/$/a/", "bbb" }, { "s/^/a/", "bbb" }, { "s/^/a/", "" },
-        { "s{.*}{N}", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" },
-        { "s/.{0,7}/y/", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" },
-        { "s/x/$&/", "xxx" } };
-  }
-}