@Test public void shouldNotContainChange() throws Exception { boolean result = changeList.contains(FILE, AUTHOR, ID); assertFalse(result); }
boolean contains(String file, String author, String id) { for (Change change : changes) { if (file.equals(change.getFile()) && author.equals(change.getAuthor()) && id.equals(change.getId())) { return true; } } return false; }
ChangeList { boolean contains(String file, String author, String id) { for (Change change : changes) { if (file.equals(change.getFile()) && author.equals(change.getAuthor()) && id.equals(change.getId())) { return true; } } return false; } }
ChangeList { boolean contains(String file, String author, String id) { for (Change change : changes) { if (file.equals(change.getFile()) && author.equals(change.getAuthor()) && id.equals(change.getId())) { return true; } } return false; }  }
ChangeList { boolean contains(String file, String author, String id) { for (Change change : changes) { if (file.equals(change.getFile()) && author.equals(change.getAuthor()) && id.equals(change.getId())) { return true; } } return false; }  List<Change> getChangesThatRequiredExecution(); void executeChanges(FireflyMigrationModel migration); void markChangesAsExecuted(FireflyMigrationModel migration); }
ChangeList { boolean contains(String file, String author, String id) { for (Change change : changes) { if (file.equals(change.getFile()) && author.equals(change.getAuthor()) && id.equals(change.getId())) { return true; } } return false; }  List<Change> getChangesThatRequiredExecution(); void executeChanges(FireflyMigrationModel migration); void markChangesAsExecuted(FireflyMigrationModel migration);  }