Examples of DuplicationGroup


Examples of org.sonar.api.batch.sensor.duplication.DuplicationGroup

    InputFile inputFile = result.inputFile("src/sample1.xoo");
    // One clone group
    List<DuplicationGroup> duplicationGroups = result.duplicationsFor(inputFile);
    assertThat(duplicationGroups).hasSize(1);

    DuplicationGroup cloneGroup = duplicationGroups.get(0);
    assertThat(cloneGroup.duplicates()).hasSize(1);
    assertThat(cloneGroup.originBlock().startLine()).isEqualTo(1);
    assertThat(cloneGroup.originBlock().length()).isEqualTo(17);
  }
View Full Code Here

Examples of org.sonar.api.batch.sensor.duplication.DuplicationGroup

    inOrder.verify(duplicationBuilder).isDuplicatedBy("key2", 15, 214);
    inOrder.verify(duplicationBuilder).isDuplicatedBy("key3", 25, 224);
    inOrder.verify(duplicationBuilder).build();

    verify(context).saveDuplications(inputFile, Arrays.asList(
      new DuplicationGroup(new DuplicationGroup.Block("foo:src/main/java/Foo.java", 5, 200))
        .addDuplicate(new DuplicationGroup.Block("key2", 15, 200))
        .addDuplicate(new DuplicationGroup.Block("key3", 25, 200))
      ));
  }
View Full Code Here

Examples of org.sonar.api.batch.sensor.duplication.DuplicationGroup

  @Override
  public DuplicationBuilder originBlock(int startLine, int endLine) {
    if (current != null) {
      duplications.add(current);
    }
    current = new DuplicationGroup(new DuplicationGroup.Block(((DefaultInputFile) inputFile).key(), startLine, endLine - startLine + 1));
    return this;
  }
View Full Code Here

Examples of org.sonar.api.batch.sensor.duplication.DuplicationGroup

  public void should_insert_duplications() {
    setupData("empty");

    DuplicationGroup.Block originBlock = new DuplicationGroup.Block("foo:org/foo/Bar.java", 1, 4);

    DuplicationGroup group = new DuplicationGroup(originBlock)
      .addDuplicate(new DuplicationGroup.Block("foo:org/foo/Foo.java", 5, 9));

    when(duplicationCache.entries()).thenReturn(
      Arrays.<Cache.Entry<List<DuplicationGroup>>>asList(new Cache.Entry(new String[] {"foo:org/foo/Bar.java"}, Arrays.asList(group))));
View Full Code Here

Examples of org.sonar.api.batch.sensor.duplication.DuplicationGroup

  @Test
  public void should_add_clone_groups() throws Exception {
    DuplicationCache cache = new DuplicationCache(caches);

    DuplicationGroup group1 = new DuplicationGroup(new DuplicationGroup.Block("foo", 1, 2))
      .addDuplicate(new DuplicationGroup.Block("foo", 1, 2))
      .addDuplicate(new DuplicationGroup.Block("foo2", 12, 22))
      .addDuplicate(new DuplicationGroup.Block("foo3", 13, 23));

    DuplicationGroup group2 = new DuplicationGroup(new DuplicationGroup.Block("2foo", 1, 2))
      .addDuplicate(new DuplicationGroup.Block("2foo", 1, 2))
      .addDuplicate(new DuplicationGroup.Block("2foo2", 12, 22))
      .addDuplicate(new DuplicationGroup.Block("2foo3", 13, 23));

    assertThat(cache.entries()).hasSize(0);
View Full Code Here

Examples of org.sonar.api.batch.sensor.duplication.DuplicationGroup

  private DuplicationBlockValueCoder blockCoder = new DuplicationBlockValueCoder();

  @Override
  public void put(Value value, Object object, CoderContext context) {
    DuplicationGroup c = (DuplicationGroup) object;
    blockCoder.put(value, c.originBlock(), context);
    value.put(c.duplicates().size());
    for (DuplicationGroup.Block block : c.duplicates()) {
      blockCoder.put(value, block, context);
    }
  }
View Full Code Here

Examples of org.sonar.api.batch.sensor.duplication.DuplicationGroup

    }
  }

  @Override
  public Object get(Value value, Class clazz, CoderContext context) {
    DuplicationGroup g = new DuplicationGroup((Block) blockCoder.get(value, DuplicationGroup.Block.class, context));
    int count = value.getInt();
    List<DuplicationGroup.Block> blocks = new ArrayList<DuplicationGroup.Block>(count);
    for (int i = 0; i < count; i++) {
      blocks.add((Block) blockCoder.get(value, DuplicationGroup.Block.class, context));
    }
    g.setDuplicates(blocks);
    return g;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.