Package org.sonar.api.batch.sensor.measure.internal

Examples of org.sonar.api.batch.sensor.measure.internal.DefaultMeasure


    return m;
  }

  @Override
  public void store(Measure newMeasure) {
    DefaultMeasure measure = (DefaultMeasure) newMeasure;
    org.sonar.api.measures.Metric m = findMetricOrFail(measure.metric().key());
    org.sonar.api.measures.Measure measureToSave = new org.sonar.api.measures.Measure(m);
    setValueAccordingToMetricType(newMeasure, m, measureToSave);
    measureToSave.setFromCore(measure.isFromCore());
    if (newMeasure.inputFile() != null) {
      Formula formula = newMeasure.metric() instanceof org.sonar.api.measures.Metric ?
        ((org.sonar.api.measures.Metric) newMeasure.metric()).getFormula() : null;
      if (formula instanceof SumChildDistributionFormula
        && !Scopes.isHigherThanOrEquals(Scopes.FILE, ((SumChildDistributionFormula) formula).getMinimumScopeToPersist())) {
View Full Code Here


  @Before
  public void before() throws IOException {
    when(context.newMeasure()).then(new Answer<Measure>() {
      @Override
      public Measure answer(InvocationOnMock invocation) throws Throwable {
        return new DefaultMeasure(storage);
      }
    });
    inputFile = new DeprecatedDefaultInputFile("foo", "src/main/java/Foo.java");
    duplicationBuilder = spy(new DefaultDuplicationBuilder(inputFile));
    when(context.duplicationBuilder(any(InputFile.class))).thenReturn(duplicationBuilder);
View Full Code Here

  public void testOneSimpleDuplicationBetweenTwoFiles() {
    inputFile.setLines(5);
    List<CloneGroup> groups = Arrays.asList(newCloneGroup(new ClonePart("key1", 0, 2, 4), new ClonePart("key2", 0, 15, 17)));
    JavaCpdEngine.save(context, inputFile, groups);

    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).onFile(inputFile).withValue(1));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).onFile(inputFile).withValue(1));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).onFile(inputFile).withValue(3));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATION_LINES_DATA).onFile(inputFile).withValue("1=0;2=1;3=1;4=1;5=0"));

    InOrder inOrder = Mockito.inOrder(duplicationBuilder);
    inOrder.verify(duplicationBuilder).originBlock(2, 4);
    inOrder.verify(duplicationBuilder).isDuplicatedBy("key2", 15, 17);
    inOrder.verify(duplicationBuilder).build();
View Full Code Here

  @Test
  public void testDuplicationOnSameFile() throws Exception {
    List<CloneGroup> groups = Arrays.asList(newCloneGroup(new ClonePart("key1", 0, 5, 204), new ClonePart("key1", 0, 215, 414)));
    JavaCpdEngine.save(context, inputFile, groups);

    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).onFile(inputFile).withValue(1));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).onFile(inputFile).withValue(2));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).onFile(inputFile).withValue(400));

    InOrder inOrder = Mockito.inOrder(duplicationBuilder);
    inOrder.verify(duplicationBuilder).originBlock(5, 204);
    inOrder.verify(duplicationBuilder).isDuplicatedBy("key1", 215, 414);
    inOrder.verify(duplicationBuilder).build();
View Full Code Here

  @Test
  public void testOneDuplicatedGroupInvolvingMoreThanTwoFiles() throws Exception {
    List<CloneGroup> groups = Arrays.asList(newCloneGroup(new ClonePart("key1", 0, 5, 204), new ClonePart("key2", 0, 15, 214), new ClonePart("key3", 0, 25, 224)));
    JavaCpdEngine.save(context, inputFile, groups);

    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).onFile(inputFile).withValue(1));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).onFile(inputFile).withValue(1));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).onFile(inputFile).withValue(200));

    InOrder inOrder = Mockito.inOrder(duplicationBuilder);
    inOrder.verify(duplicationBuilder).originBlock(5, 204);
    inOrder.verify(duplicationBuilder).isDuplicatedBy("key2", 15, 214);
    inOrder.verify(duplicationBuilder).isDuplicatedBy("key3", 25, 224);
View Full Code Here

    List<CloneGroup> groups = Arrays.asList(
      newCloneGroup(new ClonePart("key1", 0, 5, 204), new ClonePart("key2", 0, 15, 214)),
      newCloneGroup(new ClonePart("key1", 0, 15, 214), new ClonePart("key3", 0, 15, 214)));
    JavaCpdEngine.save(context, inputFile, groups);

    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_FILES).onFile(inputFile).withValue(1));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_BLOCKS).onFile(inputFile).withValue(2));
    verify(storage).store(new DefaultMeasure().forMetric(CoreMetrics.DUPLICATED_LINES).onFile(inputFile).withValue(210));

    InOrder inOrder = Mockito.inOrder(duplicationBuilder);
    inOrder.verify(duplicationBuilder).originBlock(5, 204);
    inOrder.verify(duplicationBuilder).isDuplicatedBy("key2", 15, 214);
    inOrder.verify(duplicationBuilder).originBlock(15, 214);
View Full Code Here

    InputFile file = new DefaultInputFile("foo", "src/Foo.php");

    thrown.expect(IllegalStateException.class);
    thrown.expectMessage("Unknow metric with key: lines");

    adaptor.store(new DefaultMeasure()
      .onFile(file)
      .forMetric(CoreMetrics.LINES)
      .withValue(10));
  }
View Full Code Here

    InputFile file = new DefaultInputFile("foo", "src/Foo.php");

    ArgumentCaptor<org.sonar.api.measures.Measure> argumentCaptor = ArgumentCaptor.forClass(org.sonar.api.measures.Measure.class);
    when(sensorContext.saveMeasure(eq(file), argumentCaptor.capture())).thenReturn(null);

    adaptor.store(new DefaultMeasure()
      .onFile(file)
      .forMetric(CoreMetrics.NCLOC)
      .withValue(10));

    org.sonar.api.measures.Measure m = argumentCaptor.getValue();
View Full Code Here

    InputFile file = new DefaultInputFile("foo", "src/Foo.php");

    ArgumentCaptor<org.sonar.api.measures.Measure> argumentCaptor = ArgumentCaptor.forClass(org.sonar.api.measures.Measure.class);
    when(sensorContext.saveMeasure(eq(file), argumentCaptor.capture())).thenReturn(null);

    adaptor.store(new DefaultMeasure()
      .onFile(file)
      .forMetric(CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION)
      .withValue("foo"));

    org.sonar.api.measures.Measure m = argumentCaptor.getValue();
View Full Code Here

  public void shouldSaveProjectMeasureToSensorContext() {

    ArgumentCaptor<org.sonar.api.measures.Measure> argumentCaptor = ArgumentCaptor.forClass(org.sonar.api.measures.Measure.class);
    when(sensorContext.saveMeasure(argumentCaptor.capture())).thenReturn(null);

    adaptor.store(new DefaultMeasure()
      .onProject()
      .forMetric(CoreMetrics.NCLOC)
      .withValue(10));

    org.sonar.api.measures.Measure m = argumentCaptor.getValue();
View Full Code Here

TOP

Related Classes of org.sonar.api.batch.sensor.measure.internal.DefaultMeasure

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.