2011-12-13 03:38:47 +00:00
|
|
|
require 'rubygems' if RUBY_VERSION =~ /^1.8/
|
2011-12-12 03:39:55 +00:00
|
|
|
gem 'minitest'
|
|
|
|
require 'minitest/spec'
|
|
|
|
require 'minitest/autorun'
|
|
|
|
require 'minitest/matchers'
|
2011-12-13 02:51:06 +00:00
|
|
|
|
2011-12-12 03:39:55 +00:00
|
|
|
class RangeMatcher
|
|
|
|
def initialize(operator, limit)
|
|
|
|
@operator = operator.to_sym
|
|
|
|
@limit = limit
|
|
|
|
end
|
|
|
|
|
|
|
|
def description
|
|
|
|
"be #{operator} #{@limit}"
|
|
|
|
end
|
|
|
|
|
|
|
|
def matches?(subject)
|
2011-12-17 15:58:10 +00:00
|
|
|
@subject = subject
|
2011-12-12 03:39:55 +00:00
|
|
|
subject.send(@operator, @limit)
|
|
|
|
end
|
|
|
|
|
|
|
|
def failure_message_for_should
|
2011-12-17 15:58:10 +00:00
|
|
|
"expected #{@operator} #{@limit}, not #{@subject}"
|
2011-12-12 03:39:55 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def failure_message_for_should_not
|
2011-12-17 15:58:10 +00:00
|
|
|
"expected not #{@operator} #{@limit}, not #{@subject}"
|
2011-12-12 03:39:55 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def be_lt(value)
|
|
|
|
RangeMatcher.new('<', value)
|
|
|
|
end
|
|
|
|
|
2011-12-17 15:58:10 +00:00
|
|
|
def be_gt(value)
|
|
|
|
RangeMatcher.new('>', value)
|
|
|
|
end
|
|
|
|
|
2011-12-12 03:39:55 +00:00
|
|
|
def be_lte(value)
|
|
|
|
RangeMatcher.new('<=', value)
|
|
|
|
end
|
2011-12-17 15:58:10 +00:00
|
|
|
|
|
|
|
def be_gte(value)
|
|
|
|
RangeMatcher.new('>=', value)
|
|
|
|
end
|