@Override
  public boolean apply(InputFile inputFile) {
    return originalPredicate.apply(inputFile) && InputFile.Status.SAME != inputFile.status();
  }
@Test
  public void apply_when_file_is_changed_and_predicate_is_true() {
    when(inputFile.status()).thenReturn(InputFile.Status.CHANGED);
    when(predicate.apply(inputFile)).thenReturn(true);

    Assertions.assertThat(underTest.apply(inputFile)).isTrue();

    verify(predicate, times(1)).apply(any());
    verify(inputFile, times(1)).status();
  }