Merge develop to Release_2_8_3_Branch
[jalview.git] / test / jalview / analysis / CodingUtilsTest.java
1 package jalview.analysis;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
5
6 import java.util.Arrays;
7
8 import org.junit.Test;
9
10 public class CodingUtilsTest
11 {
12
13   @Test
14   public void testDecodeCodon()
15   {
16     assertTrue(Arrays.equals(new char[]
17     { 'A', 'A', 'A' }, CodingUtils.decodeCodon(0)));
18     assertTrue(Arrays.equals(new char[]
19     { 'A', 'A', 'C' }, CodingUtils.decodeCodon(1)));
20     assertTrue(Arrays.equals(new char[]
21     { 'A', 'A', 'G' }, CodingUtils.decodeCodon(2)));
22     assertTrue(Arrays.equals(new char[]
23     { 'A', 'A', 'T' }, CodingUtils.decodeCodon(3)));
24     assertTrue(Arrays.equals(new char[]
25     { 'A', 'C', 'A' }, CodingUtils.decodeCodon(4)));
26     assertTrue(Arrays.equals(new char[]
27     { 'C', 'A', 'A' }, CodingUtils.decodeCodon(16)));
28     assertTrue(Arrays.equals(new char[]
29     { 'G', 'G', 'G' }, CodingUtils.decodeCodon(42)));
30     assertTrue(Arrays.equals(new char[]
31     { 'T', 'T', 'T' }, CodingUtils.decodeCodon(63)));
32   }
33
34   @Test
35   public void testDecodeNucleotide()
36   {
37     assertEquals('A', CodingUtils.decodeNucleotide(0));
38     assertEquals('C', CodingUtils.decodeNucleotide(1));
39     assertEquals('G', CodingUtils.decodeNucleotide(2));
40     assertEquals('T', CodingUtils.decodeNucleotide(3));
41     assertEquals('0', CodingUtils.decodeNucleotide(4));
42   }
43
44   @Test
45   public void testEncodeCodon()
46   {
47     assertTrue(CodingUtils.encodeCodon('Z') < 0);
48     assertEquals(0, CodingUtils.encodeCodon('a'));
49     assertEquals(0, CodingUtils.encodeCodon('A'));
50     assertEquals(1, CodingUtils.encodeCodon('c'));
51     assertEquals(1, CodingUtils.encodeCodon('C'));
52     assertEquals(2, CodingUtils.encodeCodon('g'));
53     assertEquals(2, CodingUtils.encodeCodon('G'));
54     assertEquals(3, CodingUtils.encodeCodon('t'));
55     assertEquals(3, CodingUtils.encodeCodon('T'));
56     assertEquals(3, CodingUtils.encodeCodon('u'));
57     assertEquals(3, CodingUtils.encodeCodon('U'));
58     
59     assertEquals(-1, CodingUtils.encodeCodon(null));
60     assertEquals(0, CodingUtils.encodeCodon(new char[]
61     { 'A', 'A', 'A' }));
62     assertEquals(1, CodingUtils.encodeCodon(new char[]
63     { 'A', 'A', 'C' }));
64     assertEquals(2, CodingUtils.encodeCodon(new char[]
65     { 'A', 'A', 'G' }));
66     assertEquals(3, CodingUtils.encodeCodon(new char[]
67     { 'A', 'A', 'T' }));
68     assertEquals(4, CodingUtils.encodeCodon(new char[]
69     { 'A', 'C', 'A' }));
70     assertEquals(16, CodingUtils.encodeCodon(new char[]
71     { 'C', 'A', 'A' }));
72     assertEquals(42, CodingUtils.encodeCodon(new char[]
73     { 'G', 'G', 'G' }));
74     assertEquals(63, CodingUtils.encodeCodon(new char[]
75     { 'T', 'T', 'T' }));
76   }
77
78 }