aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api/src
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-plugin-api/src')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/Measure.java2
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/measures/MeasureTest.java9
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<G extends Serializable> 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);
+ }
+
}