Sha256: 35f1bf362a3a835a638b778534c0647fc48cf2e679127c5d21eb69334db2d1a9

Contents?: true

Size: 793 Bytes

Versions: 5

Compression:

Stored size: 793 Bytes

Contents

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 = Isolation.call 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

5 entries across 5 versions & 1 rubygems

Version Path
mutant-0.5.24 lib/mutant/killer.rb
mutant-0.5.23 lib/mutant/killer.rb
mutant-0.5.22 lib/mutant/killer.rb
mutant-0.5.21 lib/mutant/killer.rb
mutant-0.5.20 lib/mutant/killer.rb