Sha256: 9a73f1a4e1a49a4fc1d1c13641f1d7dabef7ce0c0de8d63478d24dc1ae36fbaf

Contents?: true

Size: 1.24 KB

Versions: 24

Compression:

Stored size: 1.24 KB

Contents

# encoding: utf-8

module Mutant
  class Runner
    # Mutation runner
    class Mutation < self
      include Equalizer.new(:config, :mutation)

      register Mutant::Mutation

      # Return mutation
      #
      # @return [Mutation]
      #
      # @api private
      #
      attr_reader :mutation

      # Return killer instance
      #
      # @return [Killer]
      #
      # @api private
      #
      attr_reader :killer

      # Initialize object
      #
      # @param [Config] config
      # @param [Mutation] mutation
      #
      # @return [undefined]
      #
      # @api private
      #
      def initialize(config, mutation)
        @mutation = mutation
        super(config)
      end

      # Test if mutation was handeled successfully
      #
      # @return [true]
      #   if successful
      #
      # @return [false]
      #   otherwise
      #
      # @api private
      #
      def success?
        mutation.success?(killer)
      end

    private

      # Perform operation
      #
      # @return [undefined]
      #
      # @api private
      #
      def run
        @killer = config.strategy.kill(mutation)
        report(killer)
        @stop = config.fail_fast && !killer.success?
      end

    end # Mutation
  end # Runner
end # Mutant

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
mutant-0.5.12 lib/mutant/runner/mutation.rb
mutant-0.5.11 lib/mutant/runner/mutation.rb
mutant-0.5.10 lib/mutant/runner/mutation.rb
mutant-0.5.9 lib/mutant/runner/mutation.rb
mutant-0.5.8 lib/mutant/runner/mutation.rb
mutant-0.5.7 lib/mutant/runner/mutation.rb
mutant-0.5.6 lib/mutant/runner/mutation.rb
mutant-0.5.5 lib/mutant/runner/mutation.rb
mutant-0.5.4 lib/mutant/runner/mutation.rb
mutant-0.5.3 lib/mutant/runner/mutation.rb
mutant-0.5.2 lib/mutant/runner/mutation.rb
mutant-0.5.1 lib/mutant/runner/mutation.rb
mutant-0.5.0 lib/mutant/runner/mutation.rb
mutant-0.3.6 lib/mutant/runner/mutation.rb
mutant-0.3.5 lib/mutant/runner/mutation.rb
mutant-0.3.4 lib/mutant/runner/mutation.rb
mutant-0.3.3 lib/mutant/runner/mutation.rb
mutant-0.3.2 lib/mutant/runner/mutation.rb
mutant-0.3.1 lib/mutant/runner/mutation.rb
mutant-0.3.0 lib/mutant/runner/mutation.rb