]> source.dussan.org Git - sonarqube.git/commitdiff
Fix some quality flaws
authorJulien HENRY <julien.henry@sonarsource.com>
Thu, 9 Oct 2014 07:46:15 +0000 (09:46 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Thu, 9 Oct 2014 07:46:15 +0000 (09:46 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/measures/Measure.java
sonar-plugin-api/src/test/java/org/sonar/api/measures/MeasureTest.java

index 9a75236a5018a5122ecc1a9abaf23a2d6e86fdbf..c3f56101a182ca8bb789a8232fee1e9905c9a8f4 100644 (file)
@@ -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());
index b67b232bc47838f814d4c0a64c27aaf91e9681d6..d59d6e0ff16f469b8a2b832430740fbdb476be81 100644 (file)
@@ -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);
+  }
+
 }