JAL-1645 Version-Rel Version 2.9 Year-Rel 2015 Licensing glob
[jalview.git] / test / com / stevesoft / pat / RegexWriterTest.java
index ea07aa2..e06703e 100644 (file)
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Copyright (C) 2015 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;
@@ -5,6 +25,7 @@ import static org.testng.AssertJUnit.assertEquals;
 import java.io.IOException;
 import java.io.StringWriter;
 
+import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
 /**
@@ -25,6 +46,8 @@ public class RegexWriterTest
    *          an input string
    * @throws Exception
    */
+
+  @Test(groups = { "Functional" }, dataProvider = "testWriteParam")
   void test(String re, String inp) throws IOException
   {
     StringWriter sw = new StringWriter();
@@ -47,27 +70,45 @@ public class RegexWriterTest
     }
   }
 
-  @Test
-  public void testWrite() throws IOException
+  // @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()
   {
-    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");
-    }
+    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" } };
   }
 }