From 9ff8fd5b773b4fc5ac1587311c4b0d3b7d21c609 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Thu, 9 Oct 2014 09:46:15 +0200 Subject: [PATCH] Fix some quality flaws --- .../src/main/java/org/sonar/api/measures/Measure.java | 2 +- .../test/java/org/sonar/api/measures/MeasureTest.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/measures/Measure.java b/sonar-plugin-api/src/main/java/org/sonar/api/measures/Measure.java index 9a75236a501..c3f56101a18 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/measures/Measure.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/measures/Measure.java @@ -248,7 +248,7 @@ public class Measure implements Serializable { public G value() { switch (getMetric().getType()) { case BOOL: - return (G) Boolean.valueOf(1.0 == value); + return (G) Boolean.valueOf(Double.doubleToRawLongBits(value) != 0L); case INT: case MILLISEC: return (G) Integer.valueOf(value.intValue()); diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/measures/MeasureTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/measures/MeasureTest.java index b67b232bc47..d59d6e0ff16 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/measures/MeasureTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/measures/MeasureTest.java @@ -22,6 +22,7 @@ package org.sonar.api.measures; import org.apache.commons.lang.StringUtils; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.sonar.api.measures.Metric.ValueType; import org.sonar.api.rules.Rule; import org.sonar.api.rules.RulePriority; @@ -58,7 +59,7 @@ public class MeasureTest { @Test public void persistenceModeIsDatabaseForBigDataMeasures() { Measure bigDataMeasure = new Measure(CoreMetrics.COVERAGE_LINE_HITS_DATA, "long data") - .setPersistenceMode(PersistenceMode.DATABASE); + .setPersistenceMode(PersistenceMode.DATABASE); assertThat(bigDataMeasure.getPersistenceMode()).isEqualTo(PersistenceMode.DATABASE); } @@ -205,4 +206,10 @@ public class MeasureTest { assertThat(new Measure(CoreMetrics.VIOLATIONS).setVariation5(1.0).isBestValue()).isFalse(); } + @Test + public void testBooleanValue() { + assertThat(new Measure(new Metric.Builder("foo", "Sample boolean", ValueType.BOOL).create()).setValue(1.0).value()).isEqualTo(Boolean.TRUE); + assertThat(new Measure(new Metric.Builder("foo", "Sample boolean", ValueType.BOOL).create()).setValue(0.0).value()).isEqualTo(Boolean.FALSE); + } + } -- 2.39.5