module Sus::Mocks
def after(error = nil)
def after(error = nil) super @mocks&.each_value(&:clear) end
def mock(target)
def mock(target) validate_mock!(target) mock = self.mocks[target] if block_given? yield mock end return mock end
def mocks
def mocks @mocks ||= Hash.new{|h,k| h[k] = Mock.new(k)}.compare_by_identity end
def validate_mock!(target)
def validate_mock!(target) if target.frozen? raise MockTargetError, "Cannot mock frozen object #{target.inspect}!" end end