Sha256: 23a294f37bd5ee2df016935e72cffd3443396e8bf276b18408bd4ca43bed5aba

Contents?: true

Size: 812 Bytes

Versions: 7

Compression:

Stored size: 812 Bytes

Contents

# encoding: utf-8

module Mutant
  # Mutation killer
  class Killer
    include Adamantium::Flat, Anima.new(:test, :mutation)

    # Report object for kill results
    class Report
      include Anima.new(
        :killer,
        :test_report
      )

      # Test if kill was successful
      #
      # @return [Boolean]
      #
      # @api private
      #
      def success?
        killer.mutation.should_fail?.equal?(test_report.failed?)
      end

    end # Report

    # Return killer report
    #
    # @return [Killer::Report]
    #
    # @api private
    #
    def run
      test_report = Mutant.isolate do
        mutation.insert
        test.run
      end

      Report.new(
        killer:      self,
        test_report: test_report.update(test: test)
      )
    end

  end # Killer
end # Mutant

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mutant-0.5.19 lib/mutant/killer.rb
mutant-0.5.18 lib/mutant/killer.rb
mutant-0.5.17 lib/mutant/killer.rb
mutant-0.5.16 lib/mutant/killer.rb
mutant-0.5.15 lib/mutant/killer.rb
mutant-0.5.14 lib/mutant/killer.rb
mutant-0.5.13 lib/mutant/killer.rb