From 304c9952d6c35c0740428d8dec3761b640bede14 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Mon, 17 Jun 2013 17:45:03 +0100 Subject: [PATCH] JAL-1027 check that ResidueProperties.codonHash2 is actually identical to the codon table used in previous versions --- test/jalview/schemes/DnaCodonTests.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test/jalview/schemes/DnaCodonTests.java b/test/jalview/schemes/DnaCodonTests.java index 1d5343e..3d025a8 100644 --- a/test/jalview/schemes/DnaCodonTests.java +++ b/test/jalview/schemes/DnaCodonTests.java @@ -9,6 +9,7 @@ import jalview.datamodel.SequenceI; import java.io.IOException; import java.util.Map; +import java.util.Vector; import org.junit.AfterClass; import org.junit.BeforeClass; @@ -36,4 +37,30 @@ public class DnaCodonTests System.out.println("ResidueProperties.codonHash2.set(\""+codon.getKey()+"\", \""+codon.getValue()+"\");"); } } + @Test + public void checkOldCodonagainstNewCodonTable() { + // note - this test will be removed once the old codon table (including Vectors) is removed + String additional="",failtrans="",differentTr=""; + for (Object aa:ResidueProperties.codonHash.keySet()) + { + String amacid=(String) aa; + for (Object codons:((Vector)ResidueProperties.codonHash.get(amacid))) + { + String codon = (String) codons; + 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); + } } -- 1.7.10.2