Vorrei spesso confrontare le matrici e assicurarmi che contengano gli stessi elementi, in qualsiasi ordine. C'è un modo conciso per farlo in RSpec?
Ecco alcuni metodi che non sono accettabili:
#to_set
Per esempio:
expect(array.to_set).to eq another_array.to_set
o
array.to_set.should == another_array.to_set
Ciò non riesce quando le matrici contengono elementi duplicati.
#sort
Per esempio:
expect(array.sort).to eq another_array.sort
o
array.sort.should == another_array.sort
Questo non riesce quando gli elementi degli array non vengono implementati #<=>
eq
matcher, ad esexpect([1, 2]).to_not eq([2, 1])
to_set
e insize
realtà non fa quello che vuoi. Ad esempio [a, b, b] corrisponderebbe a [a, a, b]. Saluti!