@Test(expected = SonarException.class) public void shouldFailIfAddingSameMeasures() { Bucket fileBucket = new Bucket(javaFile); Measure measure = new Measure(ncloc).setValue(1200.0); fileBucket.addMeasure(measure); measure = new Measure(ncloc).setValue(500.0); fileBucket.addMeasure(measure); }
@Test public void shouldUpdateMeasure() { Bucket fileBucket = new Bucket(javaFile); Measure measure = new Measure(ncloc).setValue(1200.0); fileBucket.addMeasure(measure); assertThat(fileBucket.getMeasures(MeasuresFilters.all()).size(), is(1)); assertThat(fileBucket.getMeasures(MeasuresFilters.metric(ncloc)).getValue(), is(1200.0)); measure.setValue(500.0); fileBucket.addMeasure(measure); assertThat(fileBucket.getMeasures(MeasuresFilters.all()).size(), is(1)); assertThat(fileBucket.getMeasures(MeasuresFilters.metric(ncloc)).getValue(), is(500.0)); }
/** the measure is updated if it's already registered. */ @Override public Measure addMeasure(Resource resource, Measure measure) { Bucket bucket = checkIndexed(resource); if (bucket != null && !bucket.isExcluded()) { Metric metric = metricFinder.findByKey(measure.getMetricKey()); if (metric == null) { throw new SonarException("Unknown metric: " + measure.getMetricKey()); } measure.setMetric(metric); bucket.addMeasure(measure); if (measure.getPersistenceMode().useDatabase()) { persistence.saveMeasure(resource, measure); } } return measure; }