def test_that_it_returns_change_objects_for_each_diff(self): self._diff_list.append(self._diff_mock) changes = list(gitmagic.find_changes(self._repo)) self.assertEquals(len(changes), len(self._diff_list)) self.assertIsInstance(changes[0], gitmagic.Change) self.assertEquals(changes[0].a_file_name, "changed_file_name") self.assertEquals(changes[0].b_file_name, "changed_file_name")
def test_changes_created_lazily(self): self._diff_list.append(self._diff_mock) self._diff_list_on_second_call.append(self._diff_mock) changes_generator = gitmagic.find_changes(self._repo) self.assertEqual(self._repo.head.commit.diff.call_count, 0) next(changes_generator) self.assertEqual(self._repo.head.commit.diff.call_count, 1) next(changes_generator) self.assertEqual(self._repo.head.commit.diff.call_count, 2)
def test_that_it_adds_the_magical_a_b_prefix_to_the_paths(self): self._diff_list.append(self._diff_mock) changes = list(gitmagic.find_changes(self._repo)) self.assertEquals(changes[0].diff.startswith("--- a/changed_file_name\n+++ b/changed_file_name"), True)
def test_that_it_returns_empty_list_if_there_are_no_changes(self): changes = gitmagic.find_changes(self._repo) self.assertEquals(list(changes), [])