X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fschemes%2FDnaCodonTests.java;h=07ae7bb45b94ea6d493e3fb47bda03a858b5a46c;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=690a7bcc4565b50f326b2c7638545f297b06e37a;hpb=fbaefbc8965071fd362e9f47aa3d855dcdf312e9;p=jalview.git diff --git a/test/jalview/schemes/DnaCodonTests.java b/test/jalview/schemes/DnaCodonTests.java index 690a7bc..07ae7bb 100644 --- a/test/jalview/schemes/DnaCodonTests.java +++ b/test/jalview/schemes/DnaCodonTests.java @@ -1,49 +1,97 @@ +/* + * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.schemes; -import static org.junit.Assert.*; +import static org.testng.AssertJUnit.assertTrue; -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; +import org.testng.annotations.Test; public class DnaCodonTests { - @BeforeClass - public static void setUpBeforeClass() throws Exception + @Test(groups = { "Functional" }) + public void testAmbiguityCodeGeneration() { + assertTrue(ResidueProperties.ambiguityCodes.size() > 0); } - @AfterClass - public static void tearDownAfterClass() throws Exception + @Test(groups = { "Functional" }) + 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 testAmbiguityCodeGeneration() + @Test(groups = { "Functional" }) + public void regenerateCodonTable() { - assertTrue(ResidueProperties.ambiguityCodes.size()>0); - } - @Test - public void testAmbiguityCodon() { - for (String ac:ResidueProperties.ambiguityCodes.keySet()) + for (Map.Entry codon : ResidueProperties.codonHash2 + .entrySet()) { - assertTrue("Couldn't resolve GGN as glycine codon",ResidueProperties.codonHash2.get("GG"+ac).equals("G")); + System.out.println("ResidueProperties.codonHash2.set(\"" + + codon.getKey() + "\", \"" + codon.getValue() + "\");"); } } - @Test - public void regenerateCodonTable() { - for (Map.Entry codon:ResidueProperties.codonHash2.entrySet()) + + @Test(groups = { "Functional" }) + public void checkOldCodonagainstNewCodonTable() + { + // note - this test will be removed once the old codon table (including + // Vectors) is removed + String additional = "", failtrans = "", differentTr = ""; + for (String amacid : ResidueProperties.codonHash.keySet()) { - System.out.println("ResidueProperties.codonHash2.set(\""+codon.getKey()+"\", \""+codon.getValue()+"\");"); + for (String codon : ResidueProperties.codonHash.get(amacid)) + { + String trans = ResidueProperties.codonTranslate(codon); + String oldtrans = ResidueProperties._codonTranslate(codon); + if (trans == null) + { + additional += "\nOld translation table includes additional codons for " + + amacid + " : " + codon; + } + if (oldtrans == null) + { + failtrans += ("\nold translation routine failed for old translation entry (aa was " + + amacid + " codon was " + codon + ")"); + } + if (!oldtrans.equals(trans)) + { + differentTr += ("\nDifferent translation for old and new routines: " + + amacid + + " " + + codon + + " => expected " + + oldtrans + + " and got " + trans); + } + } } + assertTrue("" + additional + "\n" + failtrans + "\n" + differentTr, + additional.length() == 0 && failtrans.length() == 0 + && differentTr.length() == 0); } }