Parent

Class Index [+]

Quicksearch

RSpec::Matchers::BuiltIn::Change

Public Class Methods

new(receiver=nil, message=nil, &block) click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 5
 5:         def initialize(receiver=nil, message=nil, &block)
 6:           @message = message
 7:           @value_proc = block || lambda {receiver.__send__(message)}
 8:           @expected_after = @expected_before = @minimum = @maximum = @expected_delta = nil
 9:           @eval_before = @eval_after = false
10:         end

Public Instance Methods

actual_delta() click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 53
53:         def actual_delta
54:           @actual_after - @actual_before
55:         end
by(expected_delta) click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 61
61:         def by(expected_delta)
62:           @expected_delta = expected_delta
63:           self
64:         end
by_at_least(minimum) click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 66
66:         def by_at_least(minimum)
67:           @minimum = minimum
68:           self
69:         end
by_at_most(maximum) click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 71
71:         def by_at_most(maximum)
72:           @maximum = maximum
73:           self
74:         end
description() click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 88
88:         def description
89:           "change ##{message}"
90:         end
evaluate_value_proc() click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 28
28:         def evaluate_value_proc
29:           case val = @value_proc.call
30:           when Enumerable
31:             val.dup
32:           else
33:             val
34:           end
35:         end
failure_message_for_should() click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 37
37:         def failure_message_for_should
38:           if @eval_before && !expected_matches_actual?(@expected_before, @actual_before)
39:             "#{message} should have initially been #{@expected_before.inspect}, but was #{@actual_before.inspect}"
40:           elsif @eval_after && !expected_matches_actual?(@expected_after, @actual_after)
41:             "#{message} should have been changed to #{@expected_after.inspect}, but is now #{@actual_after.inspect}"
42:           elsif @expected_delta
43:             "#{message} should have been changed by #{@expected_delta.inspect}, but was changed by #{actual_delta.inspect}"
44:           elsif @minimum
45:             "#{message} should have been changed by at least #{@minimum.inspect}, but was changed by #{actual_delta.inspect}"
46:           elsif @maximum
47:             "#{message} should have been changed by at most #{@maximum.inspect}, but was changed by #{actual_delta.inspect}"
48:           else
49:             "#{message} should have changed, but is still #{@actual_before.inspect}"
50:           end
51:         end
failure_message_for_should_not() click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 57
57:         def failure_message_for_should_not
58:           "#{message} should not have changed, but did change from #{@actual_before.inspect} to #{@actual_after.inspect}"
59:         end
from(before) click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 82
82:         def from (before)
83:           @eval_before = true
84:           @expected_before = before
85:           self
86:         end
matches?(event_proc) click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 12
12:         def matches?(event_proc)
13:           raise_block_syntax_error if block_given?
14: 
15:           @actual_before = evaluate_value_proc
16:           event_proc.call
17:           @actual_after = evaluate_value_proc
18: 
19:           (!change_expected? || changed?) && matches_before? && matches_after? && matches_expected_delta? && matches_min? && matches_max?
20:         end
raise_block_syntax_error() click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 22
22:         def raise_block_syntax_error
23:           raise SyntaxError.new(block passed to should or should_not change must use {} instead of do/end)
24:         end
to(to) click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 76
76:         def to(to)
77:           @eval_after = true
78:           @expected_after = to
79:           self
80:         end

Private Instance Methods

change_expected?() click to toggle source
     # File lib/rspec/matchers/built_in/change.rb, line 98
 98:         def change_expected?
 99:           @expected_delta != 0
100:         end
changed?() click to toggle source
     # File lib/rspec/matchers/built_in/change.rb, line 102
102:         def changed?
103:           @actual_before != @actual_after
104:         end
expected_matches_actual?(expected, actual) click to toggle source
     # File lib/rspec/matchers/built_in/change.rb, line 126
126:         def expected_matches_actual?(expected, actual)
127:           expected === actual
128:         end
matches_after?() click to toggle source
     # File lib/rspec/matchers/built_in/change.rb, line 110
110:         def matches_after?
111:           @eval_after ? expected_matches_actual?(@expected_after, @actual_after) : true
112:         end
matches_before?() click to toggle source
     # File lib/rspec/matchers/built_in/change.rb, line 106
106:         def matches_before?
107:           @eval_before ? expected_matches_actual?(@expected_before, @actual_before) : true
108:         end
matches_expected_delta?() click to toggle source
     # File lib/rspec/matchers/built_in/change.rb, line 114
114:         def matches_expected_delta?
115:           @expected_delta ? (@actual_before + @expected_delta == @actual_after) : true
116:         end
matches_max?() click to toggle source
     # File lib/rspec/matchers/built_in/change.rb, line 122
122:         def matches_max?
123:           @maximum ? (@actual_after - @actual_before <= @maximum) : true
124:         end
matches_min?() click to toggle source
     # File lib/rspec/matchers/built_in/change.rb, line 118
118:         def matches_min?
119:           @minimum ? (@actual_after - @actual_before >= @minimum) : true
120:         end
message() click to toggle source
    # File lib/rspec/matchers/built_in/change.rb, line 94
94:         def message
95:           @message || "result"
96:         end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.