Frequentemente, quero comparar matrizes e garantir que elas contenham os mesmos elementos, em qualquer ordem. Existe uma maneira concisa de fazer isso no RSpec?
Aqui estão métodos que não são aceitáveis:
#to_set
Por exemplo:
expect(array.to_set).to eq another_array.to_set
ou
array.to_set.should == another_array.to_set
Isso falha quando as matrizes contêm itens duplicados.
#sort
Por exemplo:
expect(array.sort).to eq another_array.sort
ou
array.sort.should == another_array.sort
Isso falha quando os elementos de matriz não implementam #<=>
eq
marcador, por exemplo,expect([1, 2]).to_not eq([2, 1])
to_set
esize
realmente não faz o que você deseja. Por exemplo, [a, b, b] corresponderia a [a, a, b]. Felicidades!