Clover icon

Coverage Report

  1. Project Clover database Tue Mar 10 2026 14:58:44 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
0.00%
 

Contributing tests

No tests hitting this source file were found.

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  0 toggle @BeforeClass(alwaysRun = true)
38    public void setUpJvOptionPane()
39    {
40  0 JvOptionPane.setInteractiveMode(false);
41  0 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
42    }
43   
 
44  0 toggle @Test(groups = { "Functional" })
45    public void testParseMap()
46    {
47  0 assertNull(ShiftList.parseMap(null));
48  0 assertNull(ShiftList.parseMap(new int[] {}));
49   
50    /*
51    * Gap map showing residues in aligned positions 2,3,6,8,9,10,12
52    */
53  0 int[] gm = new int[] { 2, 3, 6, 8, 9, 10, 12 };
54  0 List<int[]> shifts = ShiftList.parseMap(gm).getShifts();
55  0 assertEquals(4, shifts.size());
56   
57    // TODO are these results (which pass) correct??
58  0 assertEquals("[0, 2]", Arrays.toString(shifts.get(0)));
59  0 assertEquals("[4, 2]", Arrays.toString(shifts.get(1)));
60  0 assertEquals("[7, 1]", Arrays.toString(shifts.get(2)));
61  0 assertEquals("[11, 1]", Arrays.toString(shifts.get(3)));
62    }
 
63  0 toggle @Test(groups = { "Functional" })
64    public void testaddShiftOperations() {
65  0 ShiftList sl = new ShiftList();
66  0 assertEquals(0,sl.shift(0));
67  0 sl.addShift(0, 0);
68  0 assertEquals(0,sl.shift(0));
69  0 sl.addShift(0, 1);
70  0 assertEquals(1,sl.shift(0));
71  0 assertEquals(2,sl.shift(1));
72  0 sl.addShift(2, 2);
73  0 assertEquals(1,sl.shift(0));
74  0 assertEquals(2,sl.shift(1)); // (0+1)
75  0 assertEquals(5,sl.shift(2)); // (0+1)(2+2): 1+2+2->5
76    }
 
77  0 toggle @Test(groups = { "Functional" })
78    public void testaddExtendShiftOperations() {
79  0 ShiftList sl = new ShiftList();
80  0 assertEquals(0,sl.shift(0));
81  0 sl.extendShift(0, 0);
82  0 assertEquals(0,sl.shift(0));
83  0 sl.extendShift(0, 1);
84  0 assertEquals(1,sl.shift(0));
85  0 assertEquals(2,sl.shift(1));
86  0 sl.extendShift(2, 2);
87  0 assertEquals(1,sl.shift(0));
88  0 assertEquals(2,sl.shift(1)); // (0+1)
89  0 assertEquals(5,sl.shift(2)); // (0+1)(2+2): 1+2+2->5
90   
91    // now check extend really does
92  0 sl.extendShift(2, 1);
93  0 assertEquals(1,sl.shift(0));
94  0 assertEquals(2,sl.shift(1)); // (0+1)
95  0 assertEquals(5,sl.shift(2)); // (0+1)(2+2): 1+2+2->5
96   
97  0 sl.extendShift(2, 3);
98  0 assertEquals(1,sl.shift(0));
99  0 assertEquals(2,sl.shift(1)); // (0+1)
100  0 assertEquals(6,sl.shift(2)); // (0+1)(2+2): 1+2+2->5
101   
102    // and two interssecting shifts
103  0 sl = new ShiftList();
104  0 sl.extendShift(0, 5);
105  0 sl.extendShift(5, 3);
106  0 sl.extendShift(1, 6);
107  0 sl.extendShift(3, 1);
108  0 sl.extendShift(1, 7);
109   
110  0 List<int[]> shifts = sl.getShifts();
111  0 assertEquals(4,shifts.size());
112    }
113    }