Class: Lucid::Runtime::Results

Inherits:
Object
  • Object
show all
Defined in:
lib/lucid/runtime/results.rb

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ Results

Returns a new instance of Results.



5
6
7
8
9
# File 'lib/lucid/runtime/results.rb', line 5

def initialize(configuration)
  @configuration = configuration
  @inserted_steps = {}
  @inserted_scenarios = {}
end

Instance Method Details

#configure(new_configuration) ⇒ Object



11
12
13
# File 'lib/lucid/runtime/results.rb', line 11

def configure(new_configuration)
  @configuration = Configuration.parse(new_configuration)
end

#failure?Boolean

Returns:

  • (Boolean)


51
52
53
54
55
56
57
58
# File 'lib/lucid/runtime/results.rb', line 51

def failure?
  if @configuration.wip?
    scenarios(:passed).any?
  else
    scenarios(:failed).any? || steps(:failed).any? ||
    (@configuration.strict? && (steps(:undefined).any? || steps(:pending).any?))
  end
end

#scenario_visited(scenario) ⇒ Object

:nodoc:



24
25
26
27
28
29
30
31
# File 'lib/lucid/runtime/results.rb', line 24

def scenario_visited(scenario) #:nodoc:
  scenario_id = scenario.object_id

  unless @inserted_scenarios.has_key?(scenario_id)
    @inserted_scenarios[scenario_id] = scenario
    scenarios.push(scenario)
  end
end

#scenarios(status = nil) ⇒ Object

:nodoc:



42
43
44
45
46
47
48
49
# File 'lib/lucid/runtime/results.rb', line 42

def scenarios(status = nil) #:nodoc:
  @scenarios ||= []
  if(status)
    @scenarios.select{|scenario| scenario.status == status}
  else
    @scenarios
  end
end

#step_visited(step) ⇒ Object

:nodoc:



15
16
17
18
19
20
21
22
# File 'lib/lucid/runtime/results.rb', line 15

def step_visited(step) #:nodoc:
  step_id = step.object_id

  unless @inserted_steps.has_key?(step_id)
    @inserted_steps[step_id] = step
    steps.push(step)
  end
end

#steps(status = nil) ⇒ Object

:nodoc:



33
34
35
36
37
38
39
40
# File 'lib/lucid/runtime/results.rb', line 33

def steps(status = nil) #:nodoc:
  @steps ||= []
  if(status)
    @steps.select{|step| step.status == status}
  else
    @steps
  end
end