Je veux souvent comparer des tableaux et m'assurer qu'ils contiennent les mêmes éléments, dans n'importe quel ordre. Existe-t-il un moyen concis de le faire dans RSpec?
Voici des méthodes qui ne sont pas acceptables:
#to_set
Par exemple:
expect(array.to_set).to eq another_array.to_set
ou
array.to_set.should == another_array.to_set
Cela échoue lorsque les tableaux contiennent des éléments en double.
#sort
Par exemple:
expect(array.sort).to eq another_array.sort
ou
array.sort.should == another_array.sort
Cela échoue lorsque les éléments des tableaux ne sont pas implémentés #<=>
eq
matcher, par exempleexpect([1, 2]).to_not eq([2, 1])
to_set
et ensize
fait ne fait pas ce que vous voulez. Par exemple [a, b, b] correspondrait à [a, a, b]. À votre santé!