// Path: src/main/java/org/sonar/plugins/stash/StashPluginUtils.java
// public static long countIssuesBySeverity(Collection<PostJobIssue> issues, final Severity severity) {
//   return issues.stream().filter(i -> severity.equals(i.severity())).count();
// }
// 
// Path: src/test/java/org/sonar/plugins/stash/TestUtils.java
// public static InputFile inputFile(String moduleKey, String path) {
//   return TestInputFileBuilder.create(moduleKey, path).build();
// }
// 
// Path: src/test/java/org/sonar/plugins/stash/DefaultIssue.java
// public class DefaultIssue implements PostJobIssue {
//   private String key, componentKey, message;
//   private InputComponent inputComponent;
//   private boolean isNew;
//   private Severity severity;
//   private Integer line;
//   private RuleKey ruleKey;
// 
//   public String key() {
//     return key;
//   }
// 
//   public DefaultIssue setKey(String key) {
//     this.key = key;
//     return this;
//   }
// 
//   public String componentKey() {
//     return componentKey;
//   }
// 
//   public DefaultIssue setComponentKey(String componentKey) {
//     this.componentKey = componentKey;
//     return this;
//   }
// 
//   public String message() {
//     return message;
//   }
// 
//   public DefaultIssue setMessage(String message) {
//     this.message = message;
//     return this;
//   }
// 
//   public InputComponent inputComponent() {
//     return inputComponent;
//   }
// 
//   public DefaultIssue setInputComponent(InputComponent inputComponent) {
//     this.inputComponent = inputComponent;
//     return this;
//   }
// 
//   @Override
//   public boolean isNew() {
//     return isNew;
//   }
// 
//   public DefaultIssue setNew(boolean aNew) {
//     isNew = aNew;
//     return this;
//   }
// 
//   public Severity severity() {
//     return severity;
//   }
// 
//   public DefaultIssue setSeverity(Severity severity) {
//     this.severity = severity;
//     return this;
//   }
// 
//   public RuleKey ruleKey() {
//     return ruleKey;
//   }
// 
//   public DefaultIssue setRuleKey(RuleKey ruleKey) {
//     this.ruleKey = ruleKey;
//     return this;
//   }
// 
//   public DefaultIssue setLine(Integer line) {
//     this.line = line;
//     return this;
//   }
// 
//   @Override
//   public Integer line() {
//     return line;
//   }
// }
// 
// Path: src/main/java/org/sonar/plugins/stash/IssuePathResolver.java
// @FunctionalInterface
// public interface IssuePathResolver {
//   String getIssuePath(PostJobIssue issue);
// }
// 
// Path: src/test/java/org/sonar/plugins/stash/fixtures/DummyIssuePathResolver.java
// public class DummyIssuePathResolver implements IssuePathResolver {
//   @Override
//   public String getIssuePath(PostJobIssue issue) {
//     InputComponent ic = issue.inputComponent();
//     if (ic == null) {
//       return null;
//     }
//     return ((InputFile) ic).relativePath();
//   }
// }


import java.util.HashSet;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.sonar.plugins.stash.StashPluginUtils.countIssuesBySeverity;
import static org.sonar.plugins.stash.TestUtils.inputFile;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
import org.sonar.api.batch.fs.InputComponent;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.batch.postjob.issue.PostJobIssue;
import org.sonar.api.batch.rule.Severity;
import org.sonar.api.rule.RuleKey;
import org.sonar.plugins.stash.DefaultIssue;
import org.sonar.plugins.stash.IssuePathResolver;
import org.sonar.plugins.stash.fixtures.DummyIssuePathResolver;

package org.sonar.plugins.stash.issue.collector;




@ExtendWith(MockitoExtension.class)
@MockitoSettings(strictness = Strictness.LENIENT)
public class SonarQubeCollectorTest {

  @Mock
  DefaultIssue issue1;

  @Mock
  DefaultIssue issue2;

  @Mock
  InputFile inputFile1;

  @Mock

// Path: src/main/java/org/sonar/plugins/stash/StashPluginUtils.java
// public static long countIssuesBySeverity(Collection<PostJobIssue> issues, final Severity severity) {
//   return issues.stream().filter(i -> severity.equals(i.severity())).count();
// }
// 
// Path: src/test/java/org/sonar/plugins/stash/TestUtils.java
// public static InputFile inputFile(String moduleKey, String path) {
//   return TestInputFileBuilder.create(moduleKey, path).build();
// }
// 
// Path: src/test/java/org/sonar/plugins/stash/DefaultIssue.java
// public class DefaultIssue implements PostJobIssue {
//   private String key, componentKey, message;
//   private InputComponent inputComponent;
//   private boolean isNew;
//   private Severity severity;
//   private Integer line;
//   private RuleKey ruleKey;
// 
//   public String key() {
//     return key;
//   }
// 
//   public DefaultIssue setKey(String key) {
//     this.key = key;
//     return this;
//   }
// 
//   public String componentKey() {
//     return componentKey;
//   }
// 
//   public DefaultIssue setComponentKey(String componentKey) {
//     this.componentKey = componentKey;
//     return this;
//   }
// 
//   public String message() {
//     return message;
//   }
// 
//   public DefaultIssue setMessage(String message) {
//     this.message = message;
//     return this;
//   }
// 
//   public InputComponent inputComponent() {
//     return inputComponent;
//   }
// 
//   public DefaultIssue setInputComponent(InputComponent inputComponent) {
//     this.inputComponent = inputComponent;
//     return this;
//   }
// 
//   @Override
//   public boolean isNew() {
//     return isNew;
//   }
// 
//   public DefaultIssue setNew(boolean aNew) {
//     isNew = aNew;
//     return this;
//   }
// 
//   public Severity severity() {
//     return severity;
//   }
// 
//   public DefaultIssue setSeverity(Severity severity) {
//     this.severity = severity;
//     return this;
//   }
// 
//   public RuleKey ruleKey() {
//     return ruleKey;
//   }
// 
//   public DefaultIssue setRuleKey(RuleKey ruleKey) {
//     this.ruleKey = ruleKey;
//     return this;
//   }
// 
//   public DefaultIssue setLine(Integer line) {
//     this.line = line;
//     return this;
//   }
// 
//   @Override
//   public Integer line() {
//     return line;
//   }
// }
// 
// Path: src/main/java/org/sonar/plugins/stash/IssuePathResolver.java
// @FunctionalInterface
// public interface IssuePathResolver {
//   String getIssuePath(PostJobIssue issue);
// }
// 
// Path: src/test/java/org/sonar/plugins/stash/fixtures/DummyIssuePathResolver.java
// public class DummyIssuePathResolver implements IssuePathResolver {
//   @Override
//   public String getIssuePath(PostJobIssue issue) {
//     InputComponent ic = issue.inputComponent();
//     if (ic == null) {
//       return null;
//     }
//     return ((InputFile) ic).relativePath();
//   }
// }


// Path: src/test/java/org/sonar/plugins/stash/issue/collector/SonarQubeCollectorTest.java
import java.util.HashSet;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.sonar.plugins.stash.StashPluginUtils.countIssuesBySeverity;
import static org.sonar.plugins.stash.TestUtils.inputFile;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
import org.sonar.api.batch.fs.InputComponent;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.batch.postjob.issue.PostJobIssue;
import org.sonar.api.batch.rule.Severity;
import org.sonar.api.rule.RuleKey;
import org.sonar.plugins.stash.DefaultIssue;
import org.sonar.plugins.stash.IssuePathResolver;
import org.sonar.plugins.stash.fixtures.DummyIssuePathResolver;

package org.sonar.plugins.stash.issue.collector;




@ExtendWith(MockitoExtension.class)
@MockitoSettings(strictness = Strictness.LENIENT)
public class SonarQubeCollectorTest {

  @Mock
  DefaultIssue issue1;

  @Mock
  DefaultIssue issue2;

  @Mock
  InputFile inputFile1;

  @Mock

  InputFile inputFile2;
