class TestRunner::Assert::Assertion
Attributes
fails[R]
passes[R]
source[RW]
Public Class Methods
new(subject_proc, checks)
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 8 def initialize subject_proc, checks @subject_proc = subject_proc @checks = checks @passes = [] @fails = [] @trace = caller_locations end
Public Instance Methods
build_checks()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 23 def build_checks @checks.map do |check_name, argument| TestRunner::Config.internal_logger.debug "Resolving check #{check_name.inspect}, arg=#{argument.inspect}" resolve_check check_name, argument end end
call()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 16 def call perform_checks freeze raise to_error if failed? subject end
failed?()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 30 def failed? fails.any? end
file()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 34 def file @trace[0].path end
freeze()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 38 def freeze passes.freeze fails.freeze end
line()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 43 def line @trace[0].lineno end
passed?()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 47 def passed? not failed? end
perform_checks()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 51 def perform_checks build_checks.each do |check| check.evaluate ary = if check.passed? then passes else fails end ary.push check end end
resolve_check(check_name, argument)
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 59 def resolve_check check_name, argument check = Checks.resolve check_name do check_name = :include if check_name == :includes argument = [check_name, *argument] Checks[:predicate] end check.new subject_thunk, argument end
subject()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 68 def subject subject_thunk.call end
subject_thunk()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 72 def subject_thunk @subject_thunk ||= SubjectThunk.new @subject_proc end
to_error()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 76 def to_error AssertionFailed.new self end
trace()
click to toggle source
# File lib/test_runner/assert/assertion.rb, line 80 def trace BacktraceFilter.(@trace) end