Sha256: 436de3cc941f871152aeba82a011d2a0658ff6fd86444340858b41293b6968bb

Contents?: true

Size: 919 Bytes

Versions: 22

Compression:

Stored size: 919 Bytes

Contents

describe "arrays" do
  def contain_same_elements_as(expected)
    simple_matcher "array with same elements in any order as #{expected.inspect}" do |actual|
      if actual.size == expected.size
        a, e = actual.dup, expected.dup
        until e.empty? do
          if i = a.index(e.pop) then a.delete_at(i) end
        end
        a.empty?
      else
        false
      end
    end
  end
  
  describe "can be matched by their contents disregarding order" do
    subject { [1,2,2,3] }
    it { should contain_same_elements_as([1,2,2,3]) }
    it { should contain_same_elements_as([2,3,2,1]) }
    it { should_not contain_same_elements_as([3,3,2,1]) }
  end
  
  describe "fail the match with different contents" do
    subject { [1,2,3] }
    it { should_not contain_same_elements_as([2,3,4])}
    it { should_not contain_same_elements_as([1,2,2,3])}
    it { should_not contain_same_elements_as([1,2])}
  end
end

Version data entries

22 entries across 22 versions & 8 rubygems

Version Path
rspec-1.3.0 examples/passing/simple_matcher_example.rb
simple-templater-0.0.1.4 gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb
media-path-0.1.2 vendor/rspec/examples/passing/simple_matcher_example.rb
simple-templater-0.0.1.3 vendor/rspec/examples/passing/simple_matcher_example.rb
pupu-0.0.2.pre vendor/rspec/examples/passing/simple_matcher_example.rb
media-path-0.1.1.pre vendor/rspec/examples/passing/simple_matcher_example.rb
simple-templater-0.0.1.2 vendor/rspec/examples/passing/simple_matcher_example.rb
media-path-0.1.1 vendor/rspec/examples/passing/simple_matcher_example.rb
simple-templater-0.0.1.1 vendor/rspec/examples/passing/simple_matcher_example.rb
pupu-0.0.2 vendor/rspec/examples/passing/simple_matcher_example.rb
rango-0.0.6 vendor/rspec/examples/passing/simple_matcher_example.rb
rango-0.1.pre vendor/rspec/examples/passing/simple_matcher_example.rb
pupu-0.0.1 vendor/rspec/examples/passing/simple_matcher_example.rb
media-path-0.1 vendor/rspec/examples/passing/simple_matcher_example.rb
simple-templater-0.0.1 vendor/rspec/examples/passing/simple_matcher_example.rb
middleman-0.10.17 vendor/gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb
middleman-0.10.16 vendor/gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb
middleman-0.10.15 vendor/gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb
rackjour-0.1.8 vendor/gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb
middleman-0.10.14 vendor/gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb