Class: Silas::Eval::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/silas/eval/result.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scenario, failures = [], skips = [], skipped: false) ⇒ Result

Returns a new instance of Result.



6
7
8
9
10
11
# File 'lib/silas/eval/result.rb', line 6

def initialize(scenario, failures = [], skips = [], skipped: false)
  @scenario = scenario
  @failures = failures
  @skips = skips
  @skipped = skipped
end

Instance Attribute Details

#failuresObject (readonly)

Returns the value of attribute failures.



4
5
6
# File 'lib/silas/eval/result.rb', line 4

def failures
  @failures
end

#scenarioObject (readonly)

Returns the value of attribute scenario.



4
5
6
# File 'lib/silas/eval/result.rb', line 4

def scenario
  @scenario
end

#skipsObject (readonly)

Returns the value of attribute skips.



4
5
6
# File 'lib/silas/eval/result.rb', line 4

def skips
  @skips
end

Class Method Details

.errored(scenario, error) ⇒ Object



14
# File 'lib/silas/eval/result.rb', line 14

def self.errored(scenario, error) = new(scenario, [ "ERROR: #{error.class}: #{error.message}" ])

.skipped(scenario, why) ⇒ Object



13
# File 'lib/silas/eval/result.rb', line 13

def self.skipped(scenario, why) = new(scenario, [], [ why ], skipped: true)

Instance Method Details

#lineObject



19
20
21
22
23
24
25
# File 'lib/silas/eval/result.rb', line 19

def line
  mark = skipped? ? "SKIP" : (pass? ? "PASS" : "FAIL")
  out = "  [#{mark}] #{@scenario.name}"
  out += "\n        - #{@failures.join("\n        - ")}" unless @failures.empty?
  out += "\n        (#{@skips.join('; ')})" unless @skips.empty?
  out
end

#pass?Boolean

Returns:

  • (Boolean)


16
# File 'lib/silas/eval/result.rb', line 16

def pass? = @failures.empty? && !@skipped

#skipped?Boolean

Returns:

  • (Boolean)


17
# File 'lib/silas/eval/result.rb', line 17

def skipped? = @skipped