1
1
package edu .hm .hafner .coverage ;
2
2
3
3
import java .util .ArrayList ;
4
+ import java .util .Collection ;
4
5
import java .util .Collections ;
5
6
import java .util .List ;
6
7
import java .util .Map ;
@@ -104,6 +105,11 @@ public FileNode copy() {
104
105
return file ;
105
106
}
106
107
108
+ @ Override
109
+ protected boolean filterByRelativePath (final Collection <String > fileNames ) {
110
+ return fileNames .contains (getRelativePath ());
111
+ }
112
+
107
113
@ Override
108
114
public boolean matches (final Metric searchMetric , final String searchName ) {
109
115
if (super .matches (searchMetric , searchName )) {
@@ -136,8 +142,8 @@ private void mergeCounters(final FileNode otherFile) {
136
142
lines .addAll (coveredPerLine .keySet ());
137
143
lines .addAll (otherFile .coveredPerLine .keySet ());
138
144
139
- var lineCoverage = new CoverageBuilder ().setMetric (Metric .LINE ).setCovered (0 ).setMissed (0 );
140
- var branchCoverage = new CoverageBuilder ().setMetric (Metric .BRANCH ).setCovered (0 ).setMissed (0 );
145
+ var lineCoverage = new CoverageBuilder ().withMetric (Metric .LINE ).withCovered (0 ).withMissed (0 );
146
+ var branchCoverage = new CoverageBuilder ().withMetric (Metric .BRANCH ).withCovered (0 ).withMissed (0 );
141
147
for (int line : lines ) {
142
148
int leftCovered = coveredPerLine .get (line );
143
149
int leftMissed = missedPerLine .get (line );
@@ -253,9 +259,9 @@ protected Optional<Node> filterTreeByModifiedLines() {
253
259
254
260
private void filterLineAndBranchCoverage (final FileNode copy ) {
255
261
var lineCoverage = Coverage .nullObject (Metric .LINE );
256
- var lineBuilder = new CoverageBuilder ().setMetric (Metric .LINE );
262
+ var lineBuilder = new CoverageBuilder ().withMetric (Metric .LINE );
257
263
var branchCoverage = Coverage .nullObject (Metric .BRANCH );
258
- var branchBuilder = new CoverageBuilder ().setMetric (Metric .BRANCH );
264
+ var branchBuilder = new CoverageBuilder ().withMetric (Metric .BRANCH );
259
265
for (int line : getCoveredAndModifiedLines ()) {
260
266
var covered = coveredPerLine .getOrDefault (line , 0 );
261
267
var missed = missedPerLine .getOrDefault (line , 0 );
@@ -265,13 +271,13 @@ private void filterLineAndBranchCoverage(final FileNode copy) {
265
271
throw new IllegalArgumentException ("No coverage for line " + line );
266
272
}
267
273
else if (total == 1 ) {
268
- lineCoverage = lineCoverage .add (lineBuilder .setCovered (covered ).setMissed (missed ).build ());
274
+ lineCoverage = lineCoverage .add (lineBuilder .withCovered (covered ).withMissed (missed ).build ());
269
275
}
270
276
else {
271
277
var branchCoveredAsLine = covered > 0 ? 1 : 0 ;
272
278
lineCoverage = lineCoverage .add (
273
- lineBuilder .setCovered (branchCoveredAsLine ).setMissed (1 - branchCoveredAsLine ).build ());
274
- branchCoverage = branchCoverage .add (branchBuilder .setCovered (covered ).setMissed (missed ).build ());
279
+ lineBuilder .withCovered (branchCoveredAsLine ).withMissed (1 - branchCoveredAsLine ).build ());
280
+ branchCoverage = branchCoverage .add (branchBuilder .withCovered (covered ).withMissed (missed ).build ());
275
281
}
276
282
}
277
283
addLineAndBranchCoverage (copy , lineCoverage , branchCoverage );
@@ -280,7 +286,7 @@ else if (total == 1) {
280
286
private void filterMutations (final FileNode copy ) {
281
287
mutations .stream ().filter (mutation -> modifiedLines .contains (mutation .getLine ())).forEach (copy ::addMutation );
282
288
if (!copy .mutations .isEmpty ()) {
283
- var builder = new CoverageBuilder ().setMetric (Metric .MUTATION ).setMissed (0 ).setCovered (0 );
289
+ var builder = new CoverageBuilder ().withMetric (Metric .MUTATION ).withMissed (0 ).withCovered (0 );
284
290
copy .mutations .stream ().filter (Mutation ::isDetected ).forEach (mutation -> builder .incrementCovered ());
285
291
copy .mutations .stream ()
286
292
.filter (Predicate .not (Mutation ::isDetected ))
@@ -323,26 +329,26 @@ protected Optional<Node> filterTreeByIndirectChanges() {
323
329
}
324
330
var builder = new CoverageBuilder ();
325
331
if (delta > 0 ) {
326
- // the line is fully covered - even in case of branch coverage
332
+ // the line is fully covered - even in the case of branch coverage
327
333
if (delta == currentCoverage .getCovered ()) {
328
- builder .setMetric (Metric .LINE ).setCovered (1 ).setMissed (0 );
334
+ builder .withMetric (Metric .LINE ).withCovered (1 ).withMissed (0 );
329
335
lineCoverage = lineCoverage .add (builder .build ());
330
336
}
331
337
// the branch coverage increased for 'delta' hits
332
338
if (currentCoverage .getTotal () > 1 ) {
333
- builder .setMetric (Metric .BRANCH ).setCovered (delta ).setMissed (0 );
339
+ builder .withMetric (Metric .BRANCH ).withCovered (delta ).withMissed (0 );
334
340
branchCoverage = branchCoverage .add (builder .build ());
335
341
}
336
342
}
337
343
else if (delta < 0 ) {
338
344
// the line is not covered anymore
339
345
if (currentCoverage .getCovered () == 0 ) {
340
- builder .setMetric (Metric .LINE ).setCovered (0 ).setMissed (1 );
346
+ builder .withMetric (Metric .LINE ).withCovered (0 ).withMissed (1 );
341
347
lineCoverage = lineCoverage .add (builder .build ());
342
348
}
343
349
// the branch coverage is decreased by 'delta' hits
344
350
if (currentCoverage .getTotal () > 1 ) {
345
- builder .setMetric (Metric .BRANCH ).setCovered (0 ).setMissed (Math .abs (delta ));
351
+ builder .withMetric (Metric .BRANCH ).withCovered (0 ).withMissed (Math .abs (delta ));
346
352
branchCoverage = branchCoverage .add (builder .build ());
347
353
}
348
354
}
@@ -388,9 +394,9 @@ public boolean hasCoverageForLine(final int line) {
388
394
private Coverage getLineCoverage (final int line ) {
389
395
if (hasCoverageForLine (line )) {
390
396
var covered = getCoveredOfLine (line ) > 0 ? 1 : 0 ;
391
- return new CoverageBuilder ().setMetric (Metric .LINE )
392
- .setCovered (covered )
393
- .setMissed (1 - covered )
397
+ return new CoverageBuilder ().withMetric (Metric .LINE )
398
+ .withCovered (covered )
399
+ .withMissed (1 - covered )
394
400
.build ();
395
401
}
396
402
return Coverage .nullObject (Metric .LINE );
@@ -401,9 +407,9 @@ private Coverage getBranchCoverage(final int line) {
401
407
var covered = getCoveredOfLine (line );
402
408
var missed = getMissedOfLine (line );
403
409
if (covered + missed > 1 ) {
404
- return new CoverageBuilder ().setMetric (Metric .BRANCH )
405
- .setCovered (covered )
406
- .setMissed (missed )
410
+ return new CoverageBuilder ().withMetric (Metric .BRANCH )
411
+ .withCovered (covered )
412
+ .withMissed (missed )
407
413
.build ();
408
414
}
409
415
}
@@ -722,6 +728,11 @@ public void setRelativePath(final TreeString relativePath) {
722
728
this .relativePath = relativePath ;
723
729
}
724
730
731
+ @ Override
732
+ public boolean isAggregation () {
733
+ return false ;
734
+ }
735
+
725
736
@ Override
726
737
public boolean equals (final Object o ) {
727
738
if (this == o ) {
0 commit comments