Clover icon

Coverage Report

  1. Project Clover database Tue Mar 10 2026 14:58:44 GMT
  2. Package jalview.gui.structurechooser

File ThreeDBStructureChooserQuerySourceTest.java

 

Code metrics

8
36
2
1
93
76
6
0.17
18
2
3

Classes

Class Line # Actions
ThreeDBStructureChooserQuerySourceTest 19 36 6
0.00%
 

Contributing tests

No tests hitting this source file were found.

Source view

1    package jalview.gui.structurechooser;
2   
3    import static org.testng.Assert.*;
4   
5    import java.util.ArrayList;
6    import java.util.List;
7   
8    import javax.swing.JTable;
9    import javax.swing.table.DefaultTableModel;
10   
11    import org.testng.annotations.DataProvider;
12    import org.testng.annotations.Test;
13   
14    import jalview.datamodel.PDBEntry;
15    import jalview.datamodel.Sequence;
16    import jalview.datamodel.SequenceI;
17    import jalview.structure.StructureImportSettings.TFType;
18   
 
19    public class ThreeDBStructureChooserQuerySourceTest {
20   
 
21  0 toggle @DataProvider(name = "threeDBStructData")
22    public Object[][] beaconSourceScores() {
23  0 return new Object[][] {
24    { "AlphaFold DB", "PLDDT", 91.0, null, TFType.PLDDT },
25    { "SwissModel", "QMEANDISCO", 0.65, "v1.2", TFType.QMEANDISCO },
26    { "PDBe", null, null, null, null }, // null
27    };
28    }
29   
 
30  0 toggle @Test(dataProvider = "threeDBStructData", groups = { "Functional" })
31    public void testCollectSelectedRows(
32    String provider,
33    String confType,
34    Double score,
35    String version,
36    TFType expectedTFType
37    ) {
38  0 String[] columns = {
39    "Model id", "Url", "Provider", "Page URL", "Model Format",
40    "Model Category", "Confidence", "Confidence Score Type", "Confidence Score Version",
41    "Uniprot Start", "Uniprot End", "Ref Sequence"
42    };
43   
44  0 Object[][] data = new Object[1][columns.length];
45  0 data[0][0] = "model1";
46  0 data[0][1] = "https://structure.com";
47  0 data[0][2] = provider;
48  0 data[0][3] = "https://structure.com";
49  0 data[0][4] = "PDB";
50  0 data[0][5] = "Experimental";
51  0 data[0][6] = score;
52  0 data[0][7] = confType;
53  0 data[0][8] = version;
54  0 data[0][9] = 1;
55  0 data[0][10] = 100;
56  0 SequenceI seq = new Sequence("seq", "SEQUENCEA");
57  0 seq.createDatasetSequence();
58  0 data[0][11] = seq;
59   
60  0 JTable mockData = new JTable(new DefaultTableModel(data, columns));
61  0 ThreeDBStructureChooserQuerySource query = new ThreeDBStructureChooserQuerySource();
62  0 List<SequenceI> sequences = new ArrayList<>();
63   
64  0 PDBEntry[] result = query.collectSelectedRows(mockData, new int[]{0}, sequences);
65   
66  0 assertNotNull(result);
67  0 assertEquals(result.length, 1);
68  0 PDBEntry pdbEntry = result[0];
69   
70  0 assertEquals(pdbEntry.getId(), "model1");
71  0 assertEquals(pdbEntry.getProvider(), provider);
72   
73  0 if (expectedTFType != null) {
74  0 assertEquals(pdbEntry.getTempFacTypeTFType(), expectedTFType, "TFType mismatch");
75    } else {
76  0 assertNull(pdbEntry.getTempFacTypeTFType(), "TFType should be null");
77    }
78   
79  0 if (score != null) {
80  0 assertEquals(pdbEntry.getModelConfidence(), score);
81    } else {
82  0 assertNull(pdbEntry.getModelConfidence());
83    }
84   
85  0 if (confType != null) {
86  0 assertEquals(pdbEntry.getModelConfidenceType(), confType);
87    }
88   
89  0 if (version != null) {
90  0 assertEquals(pdbEntry.getModelConfidenceVersion(), version);
91    }
92    }
93    }