class StonesSpec::Postcondition::ExpectedReturnValue

Public Class Methods

new(example, show_initial_board) click to toggle source
Calls superclass method
# File lib/postcondition/expected_return_value.rb, line 4
def initialize(example, show_initial_board)
  super example
  @show_initial_board = show_initial_board
end

Public Instance Methods

validate_expected_result(initial_board_gbb, _actual_final_board_gbb, result) click to toggle source
# File lib/postcondition/expected_return_value.rb, line 9
def validate_expected_result(initial_board_gbb, _actual_final_board_gbb, result)
  normalized_actual_return = parse_success_output(result).strip

  if normalized_actual_return == return_value
    make_result(:passed, initial_board_gbb)
  else
    make_result(:failed, initial_board_gbb, "Se esperaba <b>#{return_value}</b> pero se obtuvo <b>#{normalized_actual_return}</b>")
  end
end

Private Instance Methods

first_return_value(result) click to toggle source
# File lib/postcondition/expected_return_value.rb, line 25
def first_return_value(result)
  result[/#1 -> (.+)/, 1]
end
make_result(status, initial_board_gbb, output='') click to toggle source
# File lib/postcondition/expected_return_value.rb, line 29
def make_result(status, initial_board_gbb, output='')
  title = "#{example.title} -> #{return_value}"

  if @show_initial_board
    make_boards_output title, [['Tablero inicial', initial_board_gbb]], status, output
  else
    [title, status, output]
  end
end
parse_success_output(result) click to toggle source
# File lib/postcondition/expected_return_value.rb, line 21
def parse_success_output(result)
  first_return_value result || ''
end
return_value() click to toggle source
# File lib/postcondition/expected_return_value.rb, line 39
def return_value
  example.return.to_s
end