From 2b01fe1a95b0d06aec5e1bc78df4eb7d789167e3 Mon Sep 17 00:00:00 2001
From: Aman Jain <96762409+Amanjain4269@users.noreply.github.com>
Date: Wed, 11 Oct 2023 17:56:53 +0000
Subject: [PATCH 1/5] Do not use color for unchanged coverage #777
The isPostiveTrend() is changed to getTrend() and corresponding file changes are made as per the PR - Do not use color for unchanged coverage #777
---
.../metrics/steps/CoverageBuildAction.java | 23 +++++---
.../resources/coverage/coverage-summary.jelly | 7 ++-
.../steps/CoverageBuildActionTest.java | 54 +++++++++++++++++++
3 files changed, 76 insertions(+), 8 deletions(-)
diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
index 0262cc5fb..4ac75d5c8 100644
--- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
+++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
@@ -544,18 +544,29 @@ public String formatDelta(final Baseline baseline, final Metric metric) {
* @param metric
* the metric to check
*
- * @return {@code true} if the trend is positive, {@code false} otherwise
+ * @return {@code 1} if the trend is positive, {@code -1} if the trend is negative, {@code 0} otherwise
*/
@SuppressWarnings("unused") // Called by jelly view
- public boolean isPositiveTrend(final Baseline baseline, final Metric metric) {
+ public int getTrend(final Baseline baseline, final Metric metric) {
var delta = getDelta(baseline, metric);
if (delta.isPresent()) {
- if (delta.get().compareTo(Fraction.ZERO) > 0) {
- return metric.getTendency() == MetricTendency.LARGER_IS_BETTER;
+ double deltaValue = delta.get().doubleValue();
+ // to apply rounding off
+ double roundedDelta = Math.round(deltaValue * 100.0) / 100.0;
+ if (roundedDelta < 0){
+ // for var(-red)
+ return -1;
+ }
+ else if (roundedDelta > 0){
+ // for var(--green)
+ return 1;
+ }
+ else{
+ // for var(--text-color)
+ return 0;
}
- return metric.getTendency() == MetricTendency.SMALLER_IS_BETTER;
}
- return true;
+ return 0; // default to zero
}
/**
diff --git a/plugin/src/main/resources/coverage/coverage-summary.jelly b/plugin/src/main/resources/coverage/coverage-summary.jelly
index 59fa73de7..54ebecad6 100644
--- a/plugin/src/main/resources/coverage/coverage-summary.jelly
+++ b/plugin/src/main/resources/coverage/coverage-summary.jelly
@@ -60,11 +60,14 @@
${formatter.formatValueWithMetric(value)}
-
+
-
+
+
+
+
(${it.formatDelta(baseline, value.metric)})
diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
index 7d9b2d635..49eab65a9 100644
--- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
@@ -30,6 +30,32 @@
*/
@DefaultLocale("en")
class CoverageBuildActionTest {
+ private CoverageBuildAction createCoverageBuildActionWithDelta(Metric metric) {
+ Node module = new ModuleNode("module");
+
+ var coverageBuilder = new CoverageBuilder();
+ var percent50 = coverageBuilder.setMetric(Metric.BRANCH).setCovered(1).setMissed(1).build();
+ var percent80 = coverageBuilder.setMetric(Metric.LINE).setCovered(8).setMissed(2).build();
+ var percent30 = coverageBuilder.setMetric(Metric.COMPLEXITY).setCovered(3).setMissed(7).build();
+
+ module.addValue(percent50);
+ module.addValue(percent80);
+
+ var deltas = new TreeMap();
+ var lineDelta = percent80.getCoveredPercentage().subtract(percent50.getCoveredPercentage());
+ deltas.put(Metric.LINE, lineDelta);
+ var branchDelta = percent50.getCoveredPercentage().subtract(percent80.getCoveredPercentage());
+ deltas.put(Metric.BRANCH, branchDelta);
+ var complexityDelta = percent30.getCoveredPercentage().subtract(percent30.getCoveredPercentage());
+ deltas.put(Metric.COMPLEXITY, complexityDelta);
+
+ var coverages = List.of(percent50, percent80, percent30);
+
+ return spy(new CoverageBuildAction(mock(FreeStyleBuild.class), CoverageRecorder.DEFAULT_ID,
+ StringUtils.EMPTY, StringUtils.EMPTY, module, new QualityGateResult(),
+ createLog(), "-", deltas, coverages, deltas, coverages, deltas, coverages, false));
+ }
+
@Test
void shouldNotLoadResultIfCoverageValuesArePersistedInAction() {
Node module = new ModuleNode("module");
@@ -88,4 +114,32 @@ void shouldCreateViewModel() {
assertThat(action.getTarget()).extracting(CoverageViewModel::getNode).isSameAs(root);
assertThat(action.getTarget()).extracting(CoverageViewModel::getOwner).isSameAs(action.getOwner());
}
+
+ @Test
+ void shouldReturnPositiveTrendForLineMetric() {
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.LINE);
+ int trend = action.getTrend(Baseline.PROJECT, Metric.LINE);
+ assertThat(trend).isEqualTo(1);
+ }
+
+ @Test
+ void shouldReturnNegativeTrendForBranchMetric() {
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.BRANCH);
+ int trend = action.getTrend(Baseline.PROJECT, Metric.BRANCH);
+ assertThat(trend).isEqualTo(-1);
+ }
+
+ @Test
+ void shouldReturnZeroForZeroDelta() {
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.COMPLEXITY);
+ int trend = action.getTrend(Baseline.PROJECT, Metric.COMPLEXITY);
+ assertThat(trend).isEqualTo(0);
+ }
+
+ @Test
+ void shouldReturnZeroWhenDeltaIsNotPresent() {
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.METHOD);
+ int trend = action.getTrend(Baseline.PROJECT, Metric.METHOD);
+ assertThat(trend).isEqualTo(0);
+ }
}
From c81ac95da3642ce3dfed8f1e083eaff32f55e4a1 Mon Sep 17 00:00:00 2001
From: Aman Jain <96762409+Amanjain4269@users.noreply.github.com>
Date: Thu, 12 Oct 2023 12:53:48 +0000
Subject: [PATCH 2/5] Updated the code per maintainer's feedback.
Some changes are made again as per the feedback in the draft PR Do not use color for unchanged coverage #777
---
.../metrics/steps/CoverageBuildAction.java | 20 +++----
.../steps/CoverageBuildActionTest.java | 58 +++++++++++++------
2 files changed, 47 insertions(+), 31 deletions(-)
diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
index 4ac75d5c8..cafe35810 100644
--- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
+++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
@@ -544,27 +544,23 @@ public String formatDelta(final Baseline baseline, final Metric metric) {
* @param metric
* the metric to check
*
- * @return {@code 1} if the trend is positive, {@code -1} if the trend is negative, {@code 0} otherwise
+ * @return {@code roundedDeltaValue} if the trend is positive or negative, {@code 0} otherwise
*/
@SuppressWarnings("unused") // Called by jelly view
- public int getTrend(final Baseline baseline, final Metric metric) {
+ public double getTrend(final Baseline baseline, final Metric metric) {
var delta = getDelta(baseline, metric);
if (delta.isPresent()) {
double deltaValue = delta.get().doubleValue();
- // to apply rounding off
+ // to apply rounding off for boundary delta values
double roundedDelta = Math.round(deltaValue * 100.0) / 100.0;
- if (roundedDelta < 0){
- // for var(-red)
- return -1;
- }
- else if (roundedDelta > 0){
- // for var(--green)
- return 1;
- }
- else{
+ if (-0.1 < roundedDelta && roundedDelta < 0.1) {
// for var(--text-color)
return 0;
}
+ else {
+ // for var(--red or --green)
+ return roundedDelta;
+ }
}
return 0; // default to zero
}
diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
index 49eab65a9..24f868b50 100644
--- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
@@ -30,26 +30,32 @@
*/
@DefaultLocale("en")
class CoverageBuildActionTest {
- private CoverageBuildAction createCoverageBuildActionWithDelta(Metric metric) {
+ private CoverageBuildAction createCoverageBuildActionWithDelta() {
Node module = new ModuleNode("module");
var coverageBuilder = new CoverageBuilder();
var percent50 = coverageBuilder.setMetric(Metric.BRANCH).setCovered(1).setMissed(1).build();
var percent80 = coverageBuilder.setMetric(Metric.LINE).setCovered(8).setMissed(2).build();
- var percent30 = coverageBuilder.setMetric(Metric.COMPLEXITY).setCovered(3).setMissed(7).build();
-
+ var percent30 = coverageBuilder.setMetric(Metric.INSTRUCTION).setCovered(3).setMissed(7).build();
+ var percent35 = coverageBuilder.setMetric(Metric.CLASS).setCovered(35).setMissed(65).build();
+
module.addValue(percent50);
module.addValue(percent80);
-
+ module.addValue(percent30);
+ module.addValue(percent35);
+
var deltas = new TreeMap();
var lineDelta = percent80.getCoveredPercentage().subtract(percent50.getCoveredPercentage());
deltas.put(Metric.LINE, lineDelta);
var branchDelta = percent50.getCoveredPercentage().subtract(percent80.getCoveredPercentage());
deltas.put(Metric.BRANCH, branchDelta);
- var complexityDelta = percent30.getCoveredPercentage().subtract(percent30.getCoveredPercentage());
- deltas.put(Metric.COMPLEXITY, complexityDelta);
+ var instructionDelta = percent30.getCoveredPercentage().subtract(percent30.getCoveredPercentage());
+ deltas.put(Metric.INSTRUCTION, instructionDelta);
+ var classDelta = percent35.getCoveredPercentage().subtract(percent30.getCoveredPercentage());
+ deltas.put(Metric.CLASS, classDelta);
+ deltas.put(Metric.FILE, Fraction.getFraction(99,1000)); // to test for boundary case
- var coverages = List.of(percent50, percent80, percent30);
+ var coverages = List.of(percent50, percent80, percent30, percent35);
return spy(new CoverageBuildAction(mock(FreeStyleBuild.class), CoverageRecorder.DEFAULT_ID,
StringUtils.EMPTY, StringUtils.EMPTY, module, new QualityGateResult(),
@@ -117,29 +123,43 @@ void shouldCreateViewModel() {
@Test
void shouldReturnPositiveTrendForLineMetric() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.LINE);
- int trend = action.getTrend(Baseline.PROJECT, Metric.LINE);
- assertThat(trend).isEqualTo(1);
+ CoverageBuildAction action = createCoverageBuildActionWithDelta();
+ double trend = action.getTrend(Baseline.PROJECT, Metric.LINE);
+ assertThat(trend).isEqualTo(0.3); // deltaValue = 0.3
}
@Test
void shouldReturnNegativeTrendForBranchMetric() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.BRANCH);
- int trend = action.getTrend(Baseline.PROJECT, Metric.BRANCH);
- assertThat(trend).isEqualTo(-1);
+ CoverageBuildAction action = createCoverageBuildActionWithDelta();
+ double trend = action.getTrend(Baseline.PROJECT, Metric.BRANCH);
+ assertThat(trend).isEqualTo(-0.3); // deltaValue = -0.3
}
@Test
void shouldReturnZeroForZeroDelta() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.COMPLEXITY);
- int trend = action.getTrend(Baseline.PROJECT, Metric.COMPLEXITY);
- assertThat(trend).isEqualTo(0);
+ CoverageBuildAction action = createCoverageBuildActionWithDelta();
+ double trend = action.getTrend(Baseline.PROJECT, Metric.INSTRUCTION);
+ assertThat(trend).isEqualTo(0.0); // deltaValue = 0.0
}
@Test
void shouldReturnZeroWhenDeltaIsNotPresent() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.METHOD);
- int trend = action.getTrend(Baseline.PROJECT, Metric.METHOD);
- assertThat(trend).isEqualTo(0);
+ CoverageBuildAction action = createCoverageBuildActionWithDelta();
+ double trend = action.getTrend(Baseline.PROJECT, Metric.METHOD);
+ assertThat(trend).isEqualTo(0); // deltaValue is not present
+ }
+
+ @Test
+ void shouldReturnZeroForDeltaWithinBoundaries() {
+ CoverageBuildAction action = createCoverageBuildActionWithDelta();
+ double trend = action.getTrend(Baseline.PROJECT, Metric.CLASS);
+ assertThat(trend).isEqualTo(0); // deltaValue = 0.05
+ }
+
+ @Test
+ void shouldReturnPositiveTrendForBoundaryDeltaValue() {
+ CoverageBuildAction action = createCoverageBuildActionWithDelta();
+ double trend = action.getTrend(Baseline.PROJECT, Metric.FILE);
+ assertThat(trend).isEqualTo(0.1); // deltaValue = 0.099 (will be rounded off)
}
}
From 023f33a5c4c3052727d2fc4d11a53a689a6a09f0 Mon Sep 17 00:00:00 2001
From: Aman Jain <96762409+Amanjain4269@users.noreply.github.com>
Date: Fri, 13 Oct 2023 18:38:53 +0000
Subject: [PATCH 3/5] Updated the TestCases as per the reviews.
This is regarding the PR Do not use color for unchanged coverage #777
---
.../metrics/steps/CoverageBuildAction.java | 8 +--
.../resources/coverage/coverage-summary.jelly | 8 +--
.../steps/CoverageBuildActionTest.java | 67 +++++--------------
3 files changed, 22 insertions(+), 61 deletions(-)
diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
index cafe35810..c59dfe232 100644
--- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
+++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
@@ -544,22 +544,20 @@ public String formatDelta(final Baseline baseline, final Metric metric) {
* @param metric
* the metric to check
*
- * @return {@code roundedDeltaValue} if the trend is positive or negative, {@code 0} otherwise
+ * @return a positive value if the trend is positive, a negative value if the trend is negative, or {@code 0} if there is no significant change in the trend
*/
@SuppressWarnings("unused") // Called by jelly view
public double getTrend(final Baseline baseline, final Metric metric) {
var delta = getDelta(baseline, metric);
if (delta.isPresent()) {
double deltaValue = delta.get().doubleValue();
- // to apply rounding off for boundary delta values
- double roundedDelta = Math.round(deltaValue * 100.0) / 100.0;
- if (-0.1 < roundedDelta && roundedDelta < 0.1) {
+ if (-0.001 < deltaValue && deltaValue < 0.001) {
// for var(--text-color)
return 0;
}
else {
// for var(--red or --green)
- return roundedDelta;
+ return deltaValue;
}
}
return 0; // default to zero
diff --git a/plugin/src/main/resources/coverage/coverage-summary.jelly b/plugin/src/main/resources/coverage/coverage-summary.jelly
index 54ebecad6..e0a4b7c3e 100644
--- a/plugin/src/main/resources/coverage/coverage-summary.jelly
+++ b/plugin/src/main/resources/coverage/coverage-summary.jelly
@@ -60,12 +60,12 @@
${formatter.formatValueWithMetric(value)}
-
+
-
-
+
+
-
+
diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
index 24f868b50..09a6eafb0 100644
--- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
@@ -2,6 +2,7 @@
import java.util.List;
import java.util.TreeMap;
+import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.Fraction;
@@ -30,32 +31,18 @@
*/
@DefaultLocale("en")
class CoverageBuildActionTest {
- private CoverageBuildAction createCoverageBuildActionWithDelta() {
+ private CoverageBuildAction createCoverageBuildActionWithDelta(final Baseline Baseline, final Metric metric, Optional delta) {
Node module = new ModuleNode("module");
var coverageBuilder = new CoverageBuilder();
- var percent50 = coverageBuilder.setMetric(Metric.BRANCH).setCovered(1).setMissed(1).build();
- var percent80 = coverageBuilder.setMetric(Metric.LINE).setCovered(8).setMissed(2).build();
- var percent30 = coverageBuilder.setMetric(Metric.INSTRUCTION).setCovered(3).setMissed(7).build();
- var percent35 = coverageBuilder.setMetric(Metric.CLASS).setCovered(35).setMissed(65).build();
-
- module.addValue(percent50);
- module.addValue(percent80);
- module.addValue(percent30);
- module.addValue(percent35);
-
+ var percent = coverageBuilder.setMetric(metric).setCovered(1).setMissed(1).build();
+
+ module.addValue(percent);
+
var deltas = new TreeMap();
- var lineDelta = percent80.getCoveredPercentage().subtract(percent50.getCoveredPercentage());
- deltas.put(Metric.LINE, lineDelta);
- var branchDelta = percent50.getCoveredPercentage().subtract(percent80.getCoveredPercentage());
- deltas.put(Metric.BRANCH, branchDelta);
- var instructionDelta = percent30.getCoveredPercentage().subtract(percent30.getCoveredPercentage());
- deltas.put(Metric.INSTRUCTION, instructionDelta);
- var classDelta = percent35.getCoveredPercentage().subtract(percent30.getCoveredPercentage());
- deltas.put(Metric.CLASS, classDelta);
- deltas.put(Metric.FILE, Fraction.getFraction(99,1000)); // to test for boundary case
+ delta.ifPresent(d -> deltas.put(metric, d));
- var coverages = List.of(percent50, percent80, percent30, percent35);
+ var coverages = List.of(percent);
return spy(new CoverageBuildAction(mock(FreeStyleBuild.class), CoverageRecorder.DEFAULT_ID,
StringUtils.EMPTY, StringUtils.EMPTY, module, new QualityGateResult(),
@@ -123,43 +110,19 @@ void shouldCreateViewModel() {
@Test
void shouldReturnPositiveTrendForLineMetric() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta();
- double trend = action.getTrend(Baseline.PROJECT, Metric.LINE);
- assertThat(trend).isEqualTo(0.3); // deltaValue = 0.3
- }
-
- @Test
- void shouldReturnNegativeTrendForBranchMetric() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta();
- double trend = action.getTrend(Baseline.PROJECT, Metric.BRANCH);
- assertThat(trend).isEqualTo(-0.3); // deltaValue = -0.3
- }
-
- @Test
- void shouldReturnZeroForZeroDelta() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta();
- double trend = action.getTrend(Baseline.PROJECT, Metric.INSTRUCTION);
- assertThat(trend).isEqualTo(0.0); // deltaValue = 0.0
- }
-
- @Test
- void shouldReturnZeroWhenDeltaIsNotPresent() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta();
- double trend = action.getTrend(Baseline.PROJECT, Metric.METHOD);
- assertThat(trend).isEqualTo(0); // deltaValue is not present
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(1,1000)));
+ assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isPositive();
}
@Test
void shouldReturnZeroForDeltaWithinBoundaries() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta();
- double trend = action.getTrend(Baseline.PROJECT, Metric.CLASS);
- assertThat(trend).isEqualTo(0); // deltaValue = 0.05
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(9,10000)));
+ assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isZero();
}
@Test
- void shouldReturnPositiveTrendForBoundaryDeltaValue() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta();
- double trend = action.getTrend(Baseline.PROJECT, Metric.FILE);
- assertThat(trend).isEqualTo(0.1); // deltaValue = 0.099 (will be rounded off)
+ void shouldReturnZeroWhenDeltaIsNotPresentForGivenMetric() {
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.empty());
+ assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isZero();
}
}
From 8781e08b00adc880aacea0078ac90b5222799cb1 Mon Sep 17 00:00:00 2001
From: Aman Jain <96762409+Amanjain4269@users.noreply.github.com>
Date: Sun, 15 Oct 2023 19:11:52 +0000
Subject: [PATCH 4/5] Made the changes
Final chages are made as per the reviews and warnings.
---
.../main/resources/coverage/coverage-summary.jelly | 8 ++++----
.../metrics/steps/CoverageBuildActionTest.java | 13 ++++++++++---
2 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/plugin/src/main/resources/coverage/coverage-summary.jelly b/plugin/src/main/resources/coverage/coverage-summary.jelly
index e0a4b7c3e..54ebecad6 100644
--- a/plugin/src/main/resources/coverage/coverage-summary.jelly
+++ b/plugin/src/main/resources/coverage/coverage-summary.jelly
@@ -60,12 +60,12 @@
${formatter.formatValueWithMetric(value)}
-
+
-
-
+
+
-
+
diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
index 09a6eafb0..04cdc1d61 100644
--- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
@@ -31,7 +31,8 @@
*/
@DefaultLocale("en")
class CoverageBuildActionTest {
- private CoverageBuildAction createCoverageBuildActionWithDelta(final Baseline Baseline, final Metric metric, Optional delta) {
+ @SuppressWarnings("unused")
+ private CoverageBuildAction createCoverageBuildActionWithDelta(final Baseline baseline, final Metric metric, final Optional delta) {
Node module = new ModuleNode("module");
var coverageBuilder = new CoverageBuilder();
@@ -110,13 +111,19 @@ void shouldCreateViewModel() {
@Test
void shouldReturnPositiveTrendForLineMetric() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(1,1000)));
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(1, 1000)));
assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isPositive();
}
+ @Test
+ void shouldReturnNegativeTrendForLineMetric() {
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(-1, 1000)));
+ assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isNegative();
+ }
+
@Test
void shouldReturnZeroForDeltaWithinBoundaries() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(9,10000)));
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(9, 10_000)));
assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isZero();
}
From c0a2b1c9ae308eabafd1591fe5b54f6bd0dfcb2b Mon Sep 17 00:00:00 2001
From: Aman Jain <96762409+Amanjain4269@users.noreply.github.com>
Date: Mon, 16 Oct 2023 16:01:09 +0000
Subject: [PATCH 5/5] Made final changes
---
.../coverage/metrics/steps/CoverageBuildAction.java | 1 -
.../main/resources/coverage/coverage-summary.jelly | 4 ++--
.../metrics/steps/CoverageBuildActionTest.java | 11 +++++------
3 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
index c59dfe232..06053099f 100644
--- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
+++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildAction.java
@@ -18,7 +18,6 @@
import org.apache.commons.lang3.math.Fraction;
import edu.hm.hafner.coverage.Metric;
-import edu.hm.hafner.coverage.Metric.MetricTendency;
import edu.hm.hafner.coverage.Node;
import edu.hm.hafner.coverage.Value;
import edu.hm.hafner.echarts.ChartModelConfiguration;
diff --git a/plugin/src/main/resources/coverage/coverage-summary.jelly b/plugin/src/main/resources/coverage/coverage-summary.jelly
index 54ebecad6..3d25a3202 100644
--- a/plugin/src/main/resources/coverage/coverage-summary.jelly
+++ b/plugin/src/main/resources/coverage/coverage-summary.jelly
@@ -60,10 +60,10 @@
${formatter.formatValueWithMetric(value)}
-
+
-
+
diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
index 04cdc1d61..8d16122c5 100644
--- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageBuildActionTest.java
@@ -31,8 +31,7 @@
*/
@DefaultLocale("en")
class CoverageBuildActionTest {
- @SuppressWarnings("unused")
- private CoverageBuildAction createCoverageBuildActionWithDelta(final Baseline baseline, final Metric metric, final Optional delta) {
+ private CoverageBuildAction createCoverageBuildActionWithDelta(final Metric metric, final Optional delta) {
Node module = new ModuleNode("module");
var coverageBuilder = new CoverageBuilder();
@@ -111,25 +110,25 @@ void shouldCreateViewModel() {
@Test
void shouldReturnPositiveTrendForLineMetric() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(1, 1000)));
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.LINE, Optional.of(Fraction.getFraction(1, 1000)));
assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isPositive();
}
@Test
void shouldReturnNegativeTrendForLineMetric() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(-1, 1000)));
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.LINE, Optional.of(Fraction.getFraction(-1, 1000)));
assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isNegative();
}
@Test
void shouldReturnZeroForDeltaWithinBoundaries() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.of(Fraction.getFraction(9, 10_000)));
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.LINE, Optional.of(Fraction.getFraction(9, 10_000)));
assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isZero();
}
@Test
void shouldReturnZeroWhenDeltaIsNotPresentForGivenMetric() {
- CoverageBuildAction action = createCoverageBuildActionWithDelta(Baseline.PROJECT, Metric.LINE, Optional.empty());
+ CoverageBuildAction action = createCoverageBuildActionWithDelta(Metric.LINE, Optional.empty());
assertThat(action.getTrend(Baseline.PROJECT, Metric.LINE)).isZero();
}
}