以下是数组中的值列表:
[463, 246, 216, 194, 154, 152, 147, 140, 129, 128, 123, 118, 118, 102, 102, 101, 97, 96, 93, 85]
如何通过RSpec确保/断言数组列表是按升序排列的?
答案 0 :(得分:6)
最简单的方法可能是:
expect(array.sort).to eq(array)
答案 1 :(得分:1)
"升序"意味着"下一个元素不小于当前"。您可以轻松地将其编码为谓词:
expect(array.each_cons(2).all? {|a, b| a <= b }).to be_truthy
请注意,Array#sort
不稳定,所以
expect(array.sort).to eq(array)
不起作用!