@Test
 public void should_execute_on_java_project() {
   Project project = mock(Project.class);
   when(project.getLanguageKey()).thenReturn("java");
   assertThat(sensor.shouldExecuteOnProject(project)).isTrue();
   when(project.getLanguageKey()).thenReturn("py");
   assertThat(sensor.shouldExecuteOnProject(project)).isFalse();
 }
  @Test
  public void shouldImportSoure() {
    SensorContext context = mock(SensorContext.class);
    JavaFile javaFile = mock(JavaFile.class);
    InputFile inputFile =
        InputFileUtils.create(
            new File("."),
            new File("./src/test/java/org/sonar/plugins/java/JavaSourceImporterTest.java"));

    sensor.importSource(context, javaFile, inputFile, Charset.forName("UTF-8"));
    verify(context, times(1)).saveSource(any(JavaFile.class), anyString());
  }
  /** SONAR-3804 */
  @Test
  public void shouldThrowCleanMessageIfFailToImportSoure() {
    File file = new File("./src/test/java/org/sonar/plugins/java/JavaSourceImporterTest.java");

    SensorContext context = mock(SensorContext.class);
    JavaFile javaFile = mock(JavaFile.class);
    InputFile inputFile = InputFileUtils.create(new File("."), file);
    doThrow(DataException.class).when(context).saveSource(any(JavaFile.class), anyString());

    thrown.expect(SonarException.class);
    thrown.expectMessage(
        "Unable to read and import the source file : '"
            + file.getAbsolutePath()
            + "' with the charset : 'UTF-8'.");

    sensor.importSource(context, javaFile, inputFile, Charset.forName("UTF-8"));
  }
 @Test
 public void test_toString() {
   assertThat(sensor.toString()).isEqualTo("JavaSourceImporter");
 }