Class: Sus::HaveDuration

Inherits:
Object
  • Object
show all
Defined in:
lib/sus/have_duration.rb

Overview

Represents a predicate that measures the duration of a block execution.

Instance Method Summary collapse

Constructor Details

#initialize(predicate) ⇒ HaveDuration

Initialize a new HaveDuration predicate.



11
12
13
# File 'lib/sus/have_duration.rb', line 11

def initialize(predicate)
	@predicate = predicate
end

Instance Method Details

#call(assertions, subject) ⇒ Object

Evaluate this predicate against a subject (block).



25
26
27
28
29
# File 'lib/sus/have_duration.rb', line 25

def call(assertions, subject)
	assertions.nested(self) do |assertions|
		Expect.new(assertions, measure(subject)).to(@predicate)
	end
end

Print a representation of this predicate.



17
18
19
20
# File 'lib/sus/have_duration.rb', line 17

def print(output)
	output.write("have duration ")
	@predicate.print(output)
end