class Hashdiff::LinearCompareArray

def compare_at_index

def compare_at_index
  difference = item_difference(old_array[old_index], new_array[new_index], old_index)
  return if difference.empty?
  index_after_additions = index_of_match_after_additions
  append_addititions_before_match(index_after_additions)
  index_after_deletions = index_of_match_after_deletions
  append_deletions_before_match(index_after_deletions)
  match = index_after_additions || index_after_deletions
  append_differences(difference) unless match
end