diff options
Diffstat (limited to 'spec/traverse_balanced_spec.rb')
-rw-r--r-- | spec/traverse_balanced_spec.rb | 346 |
1 files changed, 173 insertions, 173 deletions
diff --git a/spec/traverse_balanced_spec.rb b/spec/traverse_balanced_spec.rb index 95e60ec..9ee68ea 100644 --- a/spec/traverse_balanced_spec.rb +++ b/spec/traverse_balanced_spec.rb @@ -1,310 +1,310 @@ -# -*- ruby encoding: utf-8 -*- +# frozen_string_literal: true require 'spec_helper' -describe "Diff::LCS.traverse_balanced" do +describe 'Diff::LCS.traverse_balanced' do include Diff::LCS::SpecHelper::Matchers - shared_examples "with a #change callback" do |s1, s2, result| - it "traverses s1 -> s2 correctly" do + shared_examples 'with a #change callback' do |s1, s2, result| + it 'traverses s1 -> s2 correctly' do traversal = balanced_traversal(s1, s2, :balanced_callback) expect(traversal.result).to eq(result) end - it "traverses s2 -> s1 correctly" do + it 'traverses s2 -> s1 correctly' do traversal = balanced_traversal(s2, s1, :balanced_callback) expect(traversal.result).to eq(balanced_reverse(result)) end end - shared_examples "without a #change callback" do |s1, s2, result| - it "traverses s1 -> s2 correctly" do + shared_examples 'without a #change callback' do |s1, s2, result| + it 'traverses s1 -> s2 correctly' do traversal = balanced_traversal(s1, s2, :balanced_callback_no_change) expect(traversal.result).to eq(map_to_no_change(result)) end - it "traverses s2 -> s1 correctly" do + it 'traverses s2 -> s1 correctly' do traversal = balanced_traversal(s2, s1, :balanced_callback_no_change) expect(traversal.result).to eq(map_to_no_change(balanced_reverse(result))) end end describe "identical string sequences ('abc')" do - s1 = s2 = "abc" + s1 = s2 = 'abc' result = [ - [ '=', 0, 0 ], - [ '=', 1, 1 ], - [ '=', 2, 2 ] + ['=', 0, 0], + ['=', 1, 1], + ['=', 2, 2] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "identical array sequences %w(a b c)" do + describe 'identical array sequences %w(a b c)' do s1 = s2 = %w(a b c) result = [ - [ '=', 0, 0 ], - [ '=', 1, 1 ], - [ '=', 2, 2 ] + ['=', 0, 0], + ['=', 1, 1], + ['=', 2, 2] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "sequences %w(a b c) & %w(a x c)" do + describe 'sequences %w(a b c) & %w(a x c)' do s1 = %w(a b c) s2 = %w(a x c) result = [ - [ '=', 0, 0 ], - [ '!', 1, 1 ], - [ '=', 2, 2 ] + ['=', 0, 0], + ['!', 1, 1], + ['=', 2, 2] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "sequences %w(a x y c) & %w(a v w c)" do + describe 'sequences %w(a x y c) & %w(a v w c)' do s1 = %w(a x y c) s2 = %w(a v w c) result = [ - [ '=', 0, 0 ], - [ '!', 1, 1 ], - [ '!', 2, 2 ], - [ '=', 3, 3 ] + ['=', 0, 0], + ['!', 1, 1], + ['!', 2, 2], + ['=', 3, 3] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "sequences %w(x y c) & %w(v w c)" do + describe 'sequences %w(x y c) & %w(v w c)' do s1 = %w(x y c) s2 = %w(v w c) result = [ - [ '!', 0, 0 ], - [ '!', 1, 1 ], - [ '=', 2, 2 ] + ['!', 0, 0], + ['!', 1, 1], + ['=', 2, 2] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "sequences %w(a x y z) & %w(b v w)" do + describe 'sequences %w(a x y z) & %w(b v w)' do s1 = %w(a x y z) s2 = %w(b v w) result = [ - [ '!', 0, 0 ], - [ '!', 1, 1 ], - [ '!', 2, 2 ], - [ '<', 3, 3 ] + ['!', 0, 0], + ['!', 1, 1], + ['!', 2, 2], + ['<', 3, 3] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "sequences %w(a z) & %w(a)" do + describe 'sequences %w(a z) & %w(a)' do s1 = %w(a z) s2 = %w(a) result = [ - [ '=', 0, 0 ], - [ '<', 1, 1 ] + ['=', 0, 0], + ['<', 1, 1] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "sequences %w(z a) & %w(a)" do + describe 'sequences %w(z a) & %w(a)' do s1 = %w(z a) s2 = %w(a) result = [ - [ '<', 0, 0 ], - [ '=', 1, 0 ] + ['<', 0, 0], + ['=', 1, 0] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "sequences %w(a b c) & %w(x y z)" do + describe 'sequences %w(a b c) & %w(x y z)' do s1 = %w(a b c) s2 = %w(x y z) result = [ - [ '!', 0, 0 ], - [ '!', 1, 1 ], - [ '!', 2, 2 ] + ['!', 0, 0], + ['!', 1, 1], + ['!', 2, 2] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "sequences %w(abcd efgh ijkl mnoopqrstuvwxyz) & []" do + describe 'sequences %w(abcd efgh ijkl mnoopqrstuvwxyz) & []' do s1 = %w(abcd efgh ijkl mnopqrstuvwxyz) s2 = [] result = [ - [ '<', 0, 0 ], - [ '<', 1, 0 ], - [ '<', 2, 0 ], - [ '<', 3, 0 ] + ['<', 0, 0], + ['<', 1, 0], + ['<', 2, 0], + ['<', 3, 0] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "strings %Q(a b c) & %Q(a x c)" do - s1 = %Q(a b c) - s2 = %Q(a x c) + describe 'strings %q(a b c) & %q(a x c)' do + s1 = 'a b c' + s2 = 'a x c' result = [ - [ '=', 0, 0 ], - [ '=', 1, 1 ], - [ '!', 2, 2 ], - [ '=', 3, 3 ], - [ '=', 4, 4 ] + ['=', 0, 0], + ['=', 1, 1], + ['!', 2, 2], + ['=', 3, 3], + ['=', 4, 4] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "strings %Q(a x y c) & %Q(a v w c)" do - s1 = %Q(a x y c) - s2 = %Q(a v w c) + describe 'strings %q(a x y c) & %q(a v w c)' do + s1 = 'a x y c' + s2 = 'a v w c' result = [ - [ '=', 0, 0 ], - [ '=', 1, 1 ], - [ '!', 2, 2 ], - [ '=', 3, 3 ], - [ '!', 4, 4 ], - [ '=', 5, 5 ], - [ '=', 6, 6 ] + ['=', 0, 0], + ['=', 1, 1], + ['!', 2, 2], + ['=', 3, 3], + ['!', 4, 4], + ['=', 5, 5], + ['=', 6, 6] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "strings %Q(x y c) & %Q(v w c)" do - s1 = %Q(x y c) - s2 = %Q(v w c) + describe 'strings %q(x y c) & %q(v w c)' do + s1 = 'x y c' + s2 = 'v w c' result = [ - [ '!', 0, 0 ], - [ '=', 1, 1 ], - [ '!', 2, 2 ], - [ '=', 3, 3 ], - [ '=', 4, 4 ] + ['!', 0, 0], + ['=', 1, 1], + ['!', 2, 2], + ['=', 3, 3], + ['=', 4, 4] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "strings %Q(a x y z) & %Q(b v w)" do - s1 = %Q(a x y z) - s2 = %Q(b v w) + describe 'strings %q(a x y z) & %q(b v w)' do + s1 = 'a x y z' + s2 = 'b v w' result = [ - [ '!', 0, 0 ], - [ '=', 1, 1 ], - [ '!', 2, 2 ], - [ '=', 3, 3 ], - [ '!', 4, 4 ], - [ '<', 5, 5 ], - [ '<', 6, 5 ] + ['!', 0, 0], + ['=', 1, 1], + ['!', 2, 2], + ['=', 3, 3], + ['!', 4, 4], + ['<', 5, 5], + ['<', 6, 5] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "strings %Q(a z) & %Q(a)" do - s1 = %Q(a z) - s2 = %Q(a) + describe 'strings %q(a z) & %q(a)' do + s1 = 'a z' + s2 = 'a' result = [ - [ '=', 0, 0 ], - [ '<', 1, 1 ], - [ '<', 2, 1 ] + ['=', 0, 0], + ['<', 1, 1], + ['<', 2, 1] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "strings %Q(z a) & %Q(a)" do - s1 = %Q(z a) - s2 = %Q(a) + describe 'strings %q(z a) & %q(a)' do + s1 = 'z a' + s2 = 'a' result = [ - [ '<', 0, 0 ], - [ '<', 1, 0 ], - [ '=', 2, 0 ] + ['<', 0, 0], + ['<', 1, 0], + ['=', 2, 0] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "strings %Q(a b c) & %Q(x y z)" do - s1 = %Q(a b c) - s2 = %Q(x y z) + describe 'strings %q(a b c) & %q(x y z)' do + s1 = 'a b c' + s2 = 'x y z' result = [ - [ '!', 0, 0 ], - [ '=', 1, 1 ], - [ '!', 2, 2 ], - [ '=', 3, 3 ], - [ '!', 4, 4 ] + ['!', 0, 0], + ['=', 1, 1], + ['!', 2, 2], + ['=', 3, 3], + ['!', 4, 4] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end - describe "strings %Q(abcd efgh ijkl mnopqrstuvwxyz) & %Q()" do - s1 = %Q(abcd efgh ijkl mnopqrstuvwxyz) - s2 = "" + describe 'strings %q(abcd efgh ijkl mnopqrstuvwxyz) & %q()' do + s1 = 'abcd efgh ijkl mnopqrstuvwxyz' + s2 = '' result = [ - [ '<', 0, 0 ], - [ '<', 1, 0 ], - [ '<', 2, 0 ], - [ '<', 3, 0 ], - [ '<', 4, 0 ], - [ '<', 5, 0 ], - [ '<', 6, 0 ], - [ '<', 7, 0 ], - [ '<', 8, 0 ], - [ '<', 9, 0 ], - [ '<', 10, 0 ], - [ '<', 11, 0 ], - [ '<', 12, 0 ], - [ '<', 13, 0 ], - [ '<', 14, 0 ], - [ '<', 15, 0 ], - [ '<', 16, 0 ], - [ '<', 17, 0 ], - [ '<', 18, 0 ], - [ '<', 19, 0 ], - [ '<', 20, 0 ], - [ '<', 21, 0 ], - [ '<', 22, 0 ], - [ '<', 23, 0 ], - [ '<', 24, 0 ], - [ '<', 25, 0 ], - [ '<', 26, 0 ], - [ '<', 27, 0 ], - [ '<', 28, 0 ], + ['<', 0, 0], + ['<', 1, 0], + ['<', 2, 0], + ['<', 3, 0], + ['<', 4, 0], + ['<', 5, 0], + ['<', 6, 0], + ['<', 7, 0], + ['<', 8, 0], + ['<', 9, 0], + ['<', 10, 0], + ['<', 11, 0], + ['<', 12, 0], + ['<', 13, 0], + ['<', 14, 0], + ['<', 15, 0], + ['<', 16, 0], + ['<', 17, 0], + ['<', 18, 0], + ['<', 19, 0], + ['<', 20, 0], + ['<', 21, 0], + ['<', 22, 0], + ['<', 23, 0], + ['<', 24, 0], + ['<', 25, 0], + ['<', 26, 0], + ['<', 27, 0], + ['<', 28, 0] ] - it_has_behavior "with a #change callback", s1, s2, result - it_has_behavior "without a #change callback", s1, s2, result + it_has_behavior 'with a #change callback', s1, s2, result + it_has_behavior 'without a #change callback', s1, s2, result end end |