class BeSorted
Public Class Methods
new(order)
click to toggle source
# File lib/itesttool/custom_matchers.rb, line 53 def initialize(order) @order = order end
Public Instance Methods
failure_message_for_should()
click to toggle source
# File lib/itesttool/custom_matchers.rb, line 75 def failure_message_for_should if @not_aligned "expected #{@list.inspect} type is not available." elsif @order_invalid "specified order is invalid. valid order in [:asc, :desc]" else "expected #{@list.inspect} to be sorted #{@order}" end end
matches?(list)
click to toggle source
# File lib/itesttool/custom_matchers.rb, line 56 def matches?(list) @list = list type = list.first.class unless list.all?{|x| x.class == type } @not_aligned = true false else sorted_list = list.sort if @order == :asc list == sorted_list elsif @order == :desc list == sorted_list.reverse else @order_invalid = true false end end end