Często chcę porównywać tablice i upewnić się, że zawierają te same elementy, w dowolnej kolejności. Czy istnieje zwięzły sposób na zrobienie tego w RSpec?
Oto metody, które są niedopuszczalne:
#to_set
Na przykład:
expect(array.to_set).to eq another_array.to_set
lub
array.to_set.should == another_array.to_set
Nie udaje się to, gdy tablice zawierają zduplikowane elementy.
#sort
Na przykład:
expect(array.sort).to eq another_array.sort
lub
array.sort.should == another_array.sort
Nie powiedzie się to, gdy elementy tablic nie zostaną zaimplementowane #<=>
eq
dopasowywania, np.expect([1, 2]).to_not eq([2, 1])
to_set
isize
faktycznie nie robi tego, co chcesz. Np. [A, b, b] pasuje do [a, a, b]. Twoje zdrowie!