Class: Lookout::Expectations

Inherits:
Object
  • Object
show all
Defined in:
lib/lookout/expectations.rb

Defined Under Namespace

Classes: Behavior, State

Instance Method Summary collapse

Constructor Details

#initialize(results = Lookout::Results::Unsuccessful.new, line = nil) ⇒ Expectations

Returns a new instance of Expectations.



7
8
9
10
# File 'lib/lookout/expectations.rb', line 7

def initialize(results = Lookout::Results::Unsuccessful.new, line = nil)
  @results, @line = results, line
  @previous = nil
end

Instance Method Details

#argObject



16
17
18
# File 'lib/lookout/expectations.rb', line 16

def arg
  Lookout::Mock::Method::Arguments::Anything.new
end

#expect(expected, &block) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/lookout/expectations.rb', line 40

def expect(expected, &block)
  file, line = /\A(.*):(\d+)(?::in .*)?\z/.match(caller.first)[1..2]
  expectation = Lookout::Expectation.on(expected, file, line, &block)
  if @line
    if @previous and @previous.line <= @line and expectation.line > @line
      @results << @previous.evaluate
      @previous = nil
    else
      @previous = expectation
    end
  else
    @results << expectation.evaluate
  end
  self
end

#flushObject

TODO: It would be great if this method wasn’t necessary.



57
58
59
60
# File 'lib/lookout/expectations.rb', line 57

def flush
  @results << @previous.evaluate if @previous
  self
end

#mockObject



12
13
14
# File 'lib/lookout/expectations.rb', line 12

def mock
  Lookout::Mock::Object.new
end

#output(string) ⇒ Object



28
29
30
# File 'lib/lookout/expectations.rb', line 28

def output(string)
  Lookout::Output.new(string)
end

#stubObject



24
25
26
# File 'lib/lookout/expectations.rb', line 24

def stub
  Lookout::Stub::Object.new
end

#warning(string) ⇒ Object



32
33
34
# File 'lib/lookout/expectations.rb', line 32

def warning(string)
  Lookout::Warning.new(string)
end

#without_argumentsObject



20
21
22
# File 'lib/lookout/expectations.rb', line 20

def without_arguments
  Lookout::Mock::Method::Arguments::None.new
end

#xml(string) ⇒ Object



36
37
38
# File 'lib/lookout/expectations.rb', line 36

def xml(string)
  Lookout::XML.new(string)
end