JAL-529 - IUBMB nucleotide ambiguity codes and programmatic generation of codons...
[jalview.git] / test / jalview / schemes / DnaCodonTests.java
diff --git a/test/jalview/schemes/DnaCodonTests.java b/test/jalview/schemes/DnaCodonTests.java
new file mode 100644 (file)
index 0000000..690a7bc
--- /dev/null
@@ -0,0 +1,49 @@
+package jalview.schemes;
+
+import static org.junit.Assert.*;
+
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceI;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class DnaCodonTests
+{
+
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception
+  {
+  }
+
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception
+  {
+  }
+
+  @Test
+  public void testAmbiguityCodeGeneration()
+  {
+    assertTrue(ResidueProperties.ambiguityCodes.size()>0);
+  }
+  @Test
+  public void testAmbiguityCodon() {
+    for (String ac:ResidueProperties.ambiguityCodes.keySet())
+    {
+      assertTrue("Couldn't resolve GGN as glycine codon",ResidueProperties.codonHash2.get("GG"+ac).equals("G"));
+    }
+  }
+  @Test
+  public void regenerateCodonTable() {
+    for (Map.Entry<String, String> codon:ResidueProperties.codonHash2.entrySet())
+    {
+      System.out.println("ResidueProperties.codonHash2.set(\""+codon.getKey()+"\", \""+codon.getValue()+"\");");
+    }
+  }
+}