Sha256: 03cbf94f1b9864e2937a8b46c77a35239fa21756a8fa370368f35daf54d87604

Contents?: true

Size: 988 Bytes

Versions: 6

Compression:

Stored size: 988 Bytes

Contents

module StonesSpec
  module Postcondition
    def self.from(example, check_head_position, show_initial_board)
      if example.final_board
        ExpectedFinalBoard.new(example, check_head_position, show_initial_board)
      elsif example.return
        ExpectedReturnValue.new(example, show_initial_board)
      else
        ExpectedBoom.new(example)
      end
    end

    class ExpectedResult
      include StonesSpec::WithGbbHtmlRendering

      attr_reader :example

      def initialize(example)
        @example = example
      end

      def validate(initial_board_gbb, actual_final_board_gbb, result, status)
        if status == :failed
          [example.title, :failed, make_error_output(result, initial_board_gbb)]
        else
          validate_expected_result(initial_board_gbb, actual_final_board_gbb, result)
        end
      end
    end
  end
end

require_relative './expected_boom'
require_relative './expected_final_board'
require_relative './expected_return_value'

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
mumuki-xgobstones-runner-2.1.0 lib/stones_spec/postcondition/postcondition.rb
mumuki-xgobstones-runner-2.0.0 lib/stones_spec/postcondition/postcondition.rb
stones-spec-1.0.2 lib/postcondition/postcondition.rb
stones-spec-1.0.1 lib/postcondition/postcondition.rb
mumuki-gobstones-runner-1.0.1 lib/stones_spec/postcondition/postcondition.rb
mumuki-gobstones-runner-1.0.0 lib/stones_spec/postcondition/postcondition.rb