Skip to content

Commit d77742d

Browse files
committed
refactoring test
1 parent da29558 commit d77742d

File tree

2 files changed

+46
-134
lines changed

2 files changed

+46
-134
lines changed

src/test/java/fr/cnes/sonar/plugins/icode/measures/ICodeMetricsProcessorTest.java

Lines changed: 34 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -89,66 +89,23 @@ public void test_is_metric_false() {
8989

9090
@Test
9191
public void test_save_nominal_measures() {
92-
93-
rule.setResult(new Result());
94-
rule.setAnalysisRuleId("SH.MET.LineOfCode");
95-
rule.getResult().setFileName("bash.sh");
96-
rule.getResult().setResultValue("3");
97-
rule.getResult().setResultLine("3");
98-
rule.getResult().setResultTypePlace("class");
99-
rule.getResult().setResultMessage("Small file");
100-
final String key = bash_sh.key();
101-
102-
ICodeMetricsProcessor.saveMeasure(context, files, rule);
103-
Assert.assertEquals(1, context.measures(key).size());
104-
}
105-
106-
@Test
107-
public void test_save_line_of_comment_measures() {
108-
109-
rule.setResult(new Result());
110-
rule.setAnalysisRuleId("SH.MET.LineOfComment");
111-
rule.getResult().setFileName("bash.sh");
112-
rule.getResult().setResultValue("3");
113-
rule.getResult().setResultLine("3");
114-
rule.getResult().setResultTypePlace("class");
115-
rule.getResult().setResultMessage("Small file");
116-
final String key = bash_sh.key();
117-
118-
ICodeMetricsProcessor.saveMeasure(context, files, rule);
119-
Assert.assertEquals(1, context.measures(key).size());
120-
}
121-
122-
@Test
123-
public void test_save_other_measures() {
124-
125-
rule.setResult(new Result());
126-
rule.setAnalysisRuleId("F90.MET.Nesting");
127-
rule.getResult().setFileName("bash.sh");
128-
rule.getResult().setResultValue("3");
129-
rule.getResult().setResultLine("3");
130-
rule.getResult().setResultTypePlace("class");
131-
rule.getResult().setResultMessage("Small file");
132-
final String key = bash_sh.key();
133-
134-
ICodeMetricsProcessor.saveMeasure(context, files, rule);
135-
Assert.assertEquals(0, context.measures(key).size());
136-
}
137-
138-
@Test
139-
public void test_save_other_measures_on_inexistant_file() {
140-
141-
rule.setResult(new Result());
142-
rule.setAnalysisRuleId("F90.MET.LineOfCode");
143-
rule.getResult().setFileName("zoulou.sh");
144-
rule.getResult().setResultValue("3");
145-
rule.getResult().setResultLine("3");
146-
rule.getResult().setResultTypePlace("class");
147-
rule.getResult().setResultMessage("Small file");
148-
final String key = bash_sh.key();
149-
150-
ICodeMetricsProcessor.saveMeasure(context, files, rule);
151-
Assert.assertEquals(0, context.measures(key).size());
92+
String[] analysisRulesIds = {"SH.MET.LineOfCode","SH.MET.LineOfComment","F90.MET.Nesting","F90.MET.LineOfCode"};
93+
String[] fileNames = {"bash.sh", "bash.sh", "bash.sh", "zoulou.sh"};
94+
int[] expectedResults = {1,2,2,2}; // Size is incremented as context.measure(key) is not resetted after each iteration
95+
96+
for(int i=0;i<analysisRulesIds.length; ++i){
97+
rule.setResult(new Result());
98+
rule.setAnalysisRuleId(analysisRulesIds[i]);
99+
rule.getResult().setFileName(fileNames[i]);
100+
rule.getResult().setResultValue("3");
101+
rule.getResult().setResultLine("3");
102+
rule.getResult().setResultTypePlace("class");
103+
rule.getResult().setResultMessage("Small file");
104+
final String key = bash_sh.key();
105+
106+
ICodeMetricsProcessor.saveMeasure(context, files, rule);
107+
Assert.assertEquals(expectedResults[i], context.measures(key).size());
108+
}
152109
}
153110

154111
@Test
@@ -173,47 +130,23 @@ public void test_compute_complexity() {
173130

174131
@Test
175132
public void test_save_extra_measure_with_null_location() {
176-
177-
final CheckResult checkResult = new CheckResult("F77.MET.ComplexitySimplified",
178-
"F77.MET.ComplexitySimplified", "f77");
179-
checkResult.setLocation(null);
180-
checkResult.setMessage("empty message");
181-
checkResult.setLine(1);
182-
checkResult.setValue(1.0f);
183-
checkResult.setFile(new File("clanhb.f"));
184-
185-
ICodeMetricsProcessor.saveExtraMeasures(context, files, List.of(checkResult));
186-
Assert.assertEquals(0, context.measures(clanhb_f.key()).size());
187-
}
188-
189-
@Test
190-
public void test_save_extra_measure_with_empty_location() {
191-
192-
final CheckResult checkResult = new CheckResult("F77.MET.ComplexitySimplified",
193-
"F77.MET.ComplexitySimplified", "f77");
194-
checkResult.setLocation("");
195-
checkResult.setMessage("empty message");
196-
checkResult.setLine(1);
197-
checkResult.setValue(1.0f);
198-
checkResult.setFile(new File("clanhb.f"));
199-
200-
ICodeMetricsProcessor.saveExtraMeasures(context, files, List.of(checkResult));
201-
Assert.assertEquals(0, context.measures(clanhb_f.key()).size());
202-
}
203-
204-
@Test
205-
public void test_save_extra_measure_with_method_location() {
206-
207-
final CheckResult checkResult = new CheckResult("F77.MET.ComplexitySimplified",
208-
"F77.MET.ComplexitySimplified", "f77");
209-
checkResult.setLocation("method");
210-
checkResult.setMessage("empty message");
211-
checkResult.setLine(1);
212-
checkResult.setValue(1.0f);
213-
checkResult.setFile(new File("clanhb.f"));
214-
215-
ICodeMetricsProcessor.saveExtraMeasures(context, files, List.of(checkResult));
216-
Assert.assertEquals(1, context.measures(clanhb_f.key()).size());
133+
// If we upgrade to Junit5, we may check @ParametrizedTest annotation
134+
String[] locations = {null, "", "method"};
135+
int[] expectedResults = {0, 0, 1};
136+
137+
138+
for(int i=0;i<locations.length; ++i){
139+
final CheckResult checkResult = new CheckResult("F77.MET.ComplexitySimplified",
140+
"F77.MET.ComplexitySimplified", "f77");
141+
checkResult.setLocation(locations[i]);
142+
checkResult.setMessage("empty message");
143+
checkResult.setLine(1);
144+
checkResult.setValue(1.0f);
145+
checkResult.setFile(new File("clanhb.f"));
146+
147+
ICodeMetricsProcessor.saveExtraMeasures(context, files, List.of(checkResult));
148+
Assert.assertEquals(expectedResults[i], context.measures(clanhb_f.key()).size());
149+
}
217150
}
218151

219152
@Test

src/test/java/fr/cnes/sonar/plugins/icode/model/ModelTest.java

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import org.junit.Assert;
2121
import org.junit.Before;
2222
import org.junit.Test;
23+
import org.junit.jupiter.params.ParameterizedTest;
24+
import org.junit.jupiter.params.provider.CsvSource;
2325

2426
import java.io.File;
2527
import java.io.InputStream;
@@ -96,38 +98,15 @@ public void test_CheckResult_to_AnalysisRule_conversion() {
9698
}
9799

98100
@Test
99-
public void test_CheckResult_to_AnalysisRule_conversion_with_method_location() {
100-
checkResult.setLocation("method");
101-
final AnalysisRule analysisRule = new AnalysisRule(checkResult);
102-
Assert.assertEquals("method", analysisRule.getResult().getResultTypePlace());
101+
public void test_CheckResults(){
102+
// If we upgrade to Junit5, we may check @ParametrizedTest annotation
103+
String[] locations = {"method", "class", "", null, "yolo" };
104+
String[] expectedResults = {"method", "class", "class", "class", "yolo"};
105+
106+
for(int i=0;i<locations.length; ++i){
107+
checkResult.setLocation(locations[i]);
108+
final AnalysisRule analysisRule = new AnalysisRule(checkResult);
109+
Assert.assertEquals(expectedResults[i], analysisRule.getResult().getResultTypePlace());
110+
}
103111
}
104-
105-
@Test
106-
public void test_CheckResult_to_AnalysisRule_conversion_with_class_location() {
107-
checkResult.setLocation("class");
108-
final AnalysisRule analysisRule = new AnalysisRule(checkResult);
109-
Assert.assertEquals("class", analysisRule.getResult().getResultTypePlace());
110-
}
111-
112-
@Test
113-
public void test_CheckResult_to_AnalysisRule_conversion_with_empty_location() {
114-
checkResult.setLocation("");
115-
final AnalysisRule analysisRule = new AnalysisRule(checkResult);
116-
Assert.assertEquals("class", analysisRule.getResult().getResultTypePlace());
117-
}
118-
119-
@Test
120-
public void test_CheckResult_to_AnalysisRule_conversion_with_null_location() {
121-
checkResult.setLocation(null);
122-
final AnalysisRule analysisRule = new AnalysisRule(checkResult);
123-
Assert.assertEquals("class", analysisRule.getResult().getResultTypePlace());
124-
}
125-
126-
@Test
127-
public void test_CheckResult_to_AnalysisRule_conversion_with_yolo_location() {
128-
checkResult.setLocation("yolo");
129-
final AnalysisRule analysisRule = new AnalysisRule(checkResult);
130-
Assert.assertEquals("yolo", analysisRule.getResult().getResultTypePlace());
131-
}
132-
133112
}

0 commit comments

Comments
 (0)