Sha256: c3e708185422d02bd2ac07f1a7f335d5711f18a346b3ec0cfd7765fea5c811ea
Contents?: true
Size: 1.07 KB
Versions: 5
Compression:
Stored size: 1.07 KB
Contents
module Riot class Assertion attr_reader :raised, :to_s, :description, :situation def initialize(description, situation, &assertion_block) @description = @to_s = description @situation = situation run(situation, &assertion_block) end def actual unfail_if_default_failure_recorded @actual end def fail(message) @failure = Failure.new("#{description}: #{message}") unless errored? end def passed?; !(failed? || errored?); end def failed?; !@failure.nil?; end def errored?; !@raised.nil?; end def result; @failure || @raised; end private def run(situation, &assertion_block) @actual = situation.instance_eval(&assertion_block) @default_failure = fail("expected true, not #{@actual.inspect}") unless @actual == true rescue Failure => e @failure = e rescue Exception => e @raised = Error.new("#{description}: errored with #{e}", e) end def unfail_if_default_failure_recorded @default_failure = @failure = nil if @default_failure end end # Assertion end # Riot
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
riot-0.9.12 | lib/riot/assertion.rb |
riot-0.9.11 | lib/riot/assertion.rb |
riot-0.9.10 | lib/riot/assertion.rb |
riot-0.9.9 | lib/riot/assertion.rb |
riot-0.9.8 | lib/riot/assertion.rb |