Example #1
0
 def test_context_not_finished_by_end_of_diffs_list(self):
     diffs = [
         DiffItem(insert, 1),
         DiffItem(unchanged, 0)]
     diff_obj = Diff(list, diffs, context_limit=2)
     self.assertEqual(
         diff_obj._create_context_markers(), [(0, 1)])
Example #2
0
 def test_contexts_start_and_end_with_modified_items(self):
     # this constraint could change; people may want more context...
     diffs = [
         DiffItem(unchanged, 1),
         DiffItem(insert, 2),
         DiffItem(insert, 2),
         DiffItem(unchanged, 1)]
     diff_obj = Diff(list, diffs)
     self.assertEqual(
         diff_obj._create_context_markers(), [(1, 3)])
Example #3
0
 def test_context_limit_is_adjustable(self):
     '''The default context limit is 3, if we adjust it to 1 we expect a new
        new context to be started if there is a gap of 2'''
     diffs = [
         DiffItem(insert, 1),
         DiffItem(unchanged, 0),
         DiffItem(unchanged, 0),
         DiffItem(remove, 1)]
     diff_obj = Diff(list, diffs, context_limit=1)
     self.assertEqual(
         diff_obj._create_context_markers(), [(0, 1), (3, 4)])
Example #4
0
 def test_context_limit_max(self):
     '''Once a context is started,so long as the number of contiguous
        unchanged items doesn't exceed the context limit, they remain part of
        the context'''
     diffs = [
         DiffItem(insert, 1),
         DiffItem(unchanged, 0),
         DiffItem(unchanged, 0),
         DiffItem(remove, 1)]
     diff_obj = Diff(list, diffs, context_limit=2)
     self.assertEqual(
         diff_obj._create_context_markers(), [(0, 4)])
Example #5
0
 def test_context_limit_max_plus_one(self):
     '''Once a context is started if the number of contiguous unchanged items
        exceeds the context limit the context is cut off at the last modified
        item and a new context is started'''
     diffs = [
         DiffItem(insert, 1),
         DiffItem(unchanged, 0),
         DiffItem(unchanged, 0),
         DiffItem(unchanged, 0),
         DiffItem(remove, 1)]
     diff_obj = Diff(list, diffs, context_limit=2)
     self.assertEqual(
         diff_obj._create_context_markers(), [(0, 1), (4, 5)])