Clover icon

Coverage Report

  1. Project Clover database Thu Aug 13 2020 12:04:21 BST
  2. Package jalview.structure

File StructureCommand.java

 

Coverage histogram

../../img/srcFileCovDistChart7.png
27% of files have more coverage

Code metrics

22
41
8
1
126
108
21
0.51
5.12
8
2.62

Classes

Class Line # Actions
StructureCommand 6 41 21
0.7042253670.4%
 

Contributing tests

This file is covered by 69 tests. .

Source view

1    package jalview.structure;
2   
3    import java.util.ArrayList;
4    import java.util.List;
5   
 
6    public class StructureCommand implements StructureCommandI
7    {
8    private String command;
9   
10    private List<String> parameters;
11   
 
12  183 toggle public StructureCommand(String cmd, String... params)
13    {
14  183 command = cmd;
15  183 if (params != null)
16    {
17  183 for (String p : params)
18    {
19  95 addParameter(p);
20    }
21    }
22    }
23   
 
24  95 toggle @Override
25    public void addParameter(String param)
26    {
27  95 if (parameters == null)
28    {
29  53 parameters = new ArrayList<>();
30    }
31  95 parameters.add(param);
32    }
33   
 
34  96 toggle @Override
35    public String getCommand()
36    {
37  96 return command;
38    }
39   
 
40  1 toggle @Override
41    public List<String> getParameters()
42    {
43  1 return parameters;
44    }
45   
 
46  2 toggle @Override
47    public boolean hasParameters()
48    {
49  2 return parameters != null && !parameters.isEmpty();
50    }
51   
 
52  0 toggle @Override
53    public String toString()
54    {
55  0 if (!hasParameters())
56    {
57  0 return command;
58    }
59  0 StringBuilder sb = new StringBuilder(32);
60  0 sb.append(command).append("(");
61  0 boolean first = true;
62  0 for (String p : parameters)
63    {
64  0 if (!first)
65    {
66  0 sb.append(",");
67    }
68  0 first = false;
69  0 sb.append(p);
70    }
71  0 sb.append(")");
72  0 return sb.toString();
73    }
74   
 
75  2 toggle @Override
76    public int hashCode()
77    {
78  2 int h = command.hashCode();
79  2 if (parameters != null)
80    {
81  2 for (String p : parameters)
82    {
83  4 h = h * 37 + p.hashCode();
84    }
85    }
86  2 return h;
87    }
88   
89    /**
90    * Answers true if {@code obj} is a {@code StructureCommand} with the same
91    * command and parameters as this one, else false
92    */
 
93  89 toggle @Override
94    public boolean equals(Object obj)
95    {
96  89 if (obj == null || !(obj instanceof StructureCommand))
97    {
98  2 return false;
99    }
100  87 StructureCommand sc = (StructureCommand) obj;
101   
102  87 if (!command.equals(sc.command))
103    {
104  3 return false;
105    }
106  84 if (parameters == null || sc.parameters == null)
107    {
108  34 return (parameters == null) && (sc.parameters == null);
109    }
110   
111  50 int j = parameters.size();
112  50 if (j != sc.parameters.size())
113    {
114  0 return false;
115    }
116  138 for (int i = 0; i < j; i++)
117    {
118  89 if (!parameters.get(i).equals(sc.parameters.get(i)))
119    {
120  1 return false;
121    }
122    }
123  49 return true;
124    }
125   
126    }