JAL-2379 made SparseMatrix.divide() so as to exactly match
[jalview.git] / test / jalview / analysis / RnaTest.java
index f33525f..814d2d4 100644 (file)
@@ -27,13 +27,23 @@ import static org.testng.AssertJUnit.assertTrue;
 import static org.testng.AssertJUnit.fail;
 
 import jalview.analysis.SecStrConsensus.SimpleBP;
+import jalview.gui.JvOptionPane;
 
 import java.util.Vector;
 
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 public class RnaTest
 {
+
+  @BeforeClass(alwaysRun = true)
+  public void setUpJvOptionPane()
+  {
+    JvOptionPane.setInteractiveMode(false);
+    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+  }
+
   @Test(groups = { "Functional" })
   public void testGetSimpleBPs() throws WUSSParseException
   {
@@ -105,7 +115,7 @@ public class RnaTest
     {
       String s = String.valueOf((char) i);
       String ss = Rna.getRNASecStrucState(s);
-  
+
       /*
        * valid SS chars are a-z, A-Z, and various brackets;
        * anything else is returned as a space
@@ -120,7 +130,7 @@ public class RnaTest
         assertEquals(" ", ss);
       }
     }
-  
+
     /*
      * a string is processed character by character
      */
@@ -188,6 +198,33 @@ public class RnaTest
     }
   }
 
+  @Test(groups = { "Functional" })
+  public void testIsCanonicalPair()
+  {
+    String bases = "acgtuACGTU";
+    for (int i = 0; i < bases.length(); i++)
+    {
+      for (int j = 0; j < bases.length(); j++)
+      {
+        char first = bases.charAt(i);
+        char second = bases.charAt(j);
+        boolean result = Rna.isCanonicalPair(first, second);
+        String pair = new String(new char[] { first, second })
+                .toUpperCase();
+        if (pair.equals("AT") || pair.equals("TA") || pair.equals("AU")
+                || pair.equals("UA") || pair.equals("GC")
+                || pair.equals("CG"))
+        {
+          assertTrue(pair + " should be valid", result);
+        }
+        else
+        {
+          assertFalse(pair + " should be invalid", result);
+        }
+      }
+    }
+  }
+
   /**
    * Tests for isOpeningParenthesis with char or String argument
    */
@@ -251,7 +288,7 @@ public class RnaTest
   public void testIsRnaSecondaryStructureSymbol()
   {
     assertFalse(Rna.isRnaSecondaryStructureSymbol(null));
-  
+
     /*
      * only A-Z,  a-z, ()[]{}<> are valid symbols
      */