Clover icon

Coverage Report

  1. Project Clover database Mon Dec 1 2025 13:17:41 GMT
  2. Package jalview.util

File ShiftListTest.java

 

Code metrics

0
49
4
1
113
74
4
0.08
12.25
4
1

Classes

Class Line # Actions
ShiftListTest 34 49 4
1.0100%
 

Contributing tests

This file is covered by 3 tests. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.util;
22   
23    import static org.testng.AssertJUnit.assertEquals;
24    import static org.testng.AssertJUnit.assertNull;
25   
26    import jalview.gui.JvOptionPane;
27   
28    import java.util.Arrays;
29    import java.util.List;
30   
31    import org.testng.annotations.BeforeClass;
32    import org.testng.annotations.Test;
33   
 
34    public class ShiftListTest
35    {
36   
 
37  1 toggle @BeforeClass(alwaysRun = true)
38    public void setUpJvOptionPane()
39    {
40  1 JvOptionPane.setInteractiveMode(false);
41  1 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
42    }
43   
 
44  1 toggle @Test(groups = { "Functional" })
45    public void testParseMap()
46    {
47  1 assertNull(ShiftList.parseMap(null));
48  1 assertNull(ShiftList.parseMap(new int[] {}));
49   
50    /*
51    * Gap map showing residues in aligned positions 2,3,6,8,9,10,12
52    */
53  1 int[] gm = new int[] { 2, 3, 6, 8, 9, 10, 12 };
54  1 List<int[]> shifts = ShiftList.parseMap(gm).getShifts();
55  1 assertEquals(4, shifts.size());
56   
57    // TODO are these results (which pass) correct??
58  1 assertEquals("[0, 2]", Arrays.toString(shifts.get(0)));
59  1 assertEquals("[4, 2]", Arrays.toString(shifts.get(1)));
60  1 assertEquals("[7, 1]", Arrays.toString(shifts.get(2)));
61  1 assertEquals("[11, 1]", Arrays.toString(shifts.get(3)));
62    }
 
63  1 toggle @Test(groups = { "Functional" })
64    public void testaddShiftOperations() {
65  1 ShiftList sl = new ShiftList();
66  1 assertEquals(0,sl.shift(0));
67  1 sl.addShift(0, 0);
68  1 assertEquals(0,sl.shift(0));
69  1 sl.addShift(0, 1);
70  1 assertEquals(1,sl.shift(0));
71  1 assertEquals(2,sl.shift(1));
72  1 sl.addShift(2, 2);
73  1 assertEquals(1,sl.shift(0));
74  1 assertEquals(2,sl.shift(1)); // (0+1)
75  1 assertEquals(5,sl.shift(2)); // (0+1)(2+2): 1+2+2->5
76    }
 
77  1 toggle @Test(groups = { "Functional" })
78    public void testaddExtendShiftOperations() {
79  1 ShiftList sl = new ShiftList();
80  1 assertEquals(0,sl.shift(0));
81  1 sl.extendShift(0, 0);
82  1 assertEquals(0,sl.shift(0));
83  1 sl.extendShift(0, 1);
84  1 assertEquals(1,sl.shift(0));
85  1 assertEquals(2,sl.shift(1));
86  1 sl.extendShift(2, 2);
87  1 assertEquals(1,sl.shift(0));
88  1 assertEquals(2,sl.shift(1)); // (0+1)
89  1 assertEquals(5,sl.shift(2)); // (0+1)(2+2): 1+2+2->5
90   
91    // now check extend really does
92  1 sl.extendShift(2, 1);
93  1 assertEquals(1,sl.shift(0));
94  1 assertEquals(2,sl.shift(1)); // (0+1)
95  1 assertEquals(5,sl.shift(2)); // (0+1)(2+2): 1+2+2->5
96   
97  1 sl.extendShift(2, 3);
98  1 assertEquals(1,sl.shift(0));
99  1 assertEquals(2,sl.shift(1)); // (0+1)
100  1 assertEquals(6,sl.shift(2)); // (0+1)(2+2): 1+2+2->5
101   
102    // and two interssecting shifts
103  1 sl = new ShiftList();
104  1 sl.extendShift(0, 5);
105  1 sl.extendShift(5, 3);
106  1 sl.extendShift(1, 6);
107  1 sl.extendShift(3, 1);
108  1 sl.extendShift(1, 7);
109   
110  1 List<int[]> shifts = sl.getShifts();
111  1 assertEquals(4,shifts.size());
112    }
113    }