]> source.dussan.org Git - sonarqube.git/commitdiff
Fix UT
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Thu, 26 Jun 2014 12:37:05 +0000 (14:37 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Thu, 26 Jun 2014 12:37:12 +0000 (14:37 +0200)
sonar-server/src/test/java/org/sonar/server/duplication/ws/DuplicationsParserTest.java

index 1c9cec59858e9df751e7946c37bf833376587e8d..1e04f073c7da102683272a520f17063b684a513f 100644 (file)
@@ -21,6 +21,8 @@
 package org.sonar.server.duplication.ws;
 
 import com.google.common.base.Charsets;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
 import com.google.common.io.Files;
 import com.google.common.io.Resources;
 import org.junit.Before;
@@ -32,6 +34,8 @@ import org.sonar.core.component.ComponentDto;
 import org.sonar.core.persistence.DbSession;
 import org.sonar.server.component.persistence.ComponentDao;
 
+import javax.annotation.Nullable;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
@@ -170,12 +174,12 @@ public class DuplicationsParserTest {
     assertThat(duplications).hasSize(2);
 
     // Duplications on removed file
-    DuplicationsParser.Duplication duplication1 = duplications.get(0);
+    DuplicationsParser.Duplication duplication1 = duplication(duplications, null);
     assertThat(duplication1.file()).isNull();
     assertThat(duplication1.from()).isEqualTo(31);
     assertThat(duplication1.size()).isEqualTo(5);
 
-    DuplicationsParser.Duplication duplication2 = duplications.get(1);
+    DuplicationsParser.Duplication duplication2 = duplication(duplications, fileOnSameProject.key());
     assertThat(duplication2.file()).isEqualTo(fileOnSameProject);
     assertThat(duplication2.from()).isEqualTo(20);
     assertThat(duplication2.size()).isEqualTo(5);
@@ -215,4 +219,13 @@ public class DuplicationsParserTest {
     return Files.toString(new File(Resources.getResource(this.getClass(), "DuplicationsParserTest/" + file).getFile()), Charsets.UTF_8);
   }
 
+  private static DuplicationsParser.Duplication duplication(List<DuplicationsParser.Duplication> duplications, @Nullable final String componentKey){
+    return Iterables.find(duplications, new Predicate<DuplicationsParser.Duplication>() {
+      @Override
+      public boolean apply(@Nullable DuplicationsParser.Duplication input) {
+        return input != null && (componentKey == null ? input.file() == null : input.file() != null && componentKey.equals(input.file().key()));
+      }
+    });
+  }
+
 }