Sha256: 266d689d61b1c7512149a1eeafa54ca259f02215e9206c3467e2af3d18cbd1a8
Contents?: true
Size: 1.55 KB
Versions: 2
Compression:
Stored size: 1.55 KB
Contents
module Mutant class Runner # Subject specific runner class Subject < self include Equalizer.new(:config, :subject) # Return subject # # @return [Subject] # # @api private # attr_reader :subject register Mutant::Subject # Initialize object # # @param [Config] config # @param [Subject] subject # # @return [undefined] # # @api private # def initialize(config, subject) @subject = subject super(config) end # Return mutation runners # # @return [Enumerable<Runner::Mutation>] # # @api private # attr_reader :mutations # Return failed mutations # # @return [Enumerable<Mutation>] # # @api private # def failed_mutations mutations.reject(&:success?) end memoize :failed_mutations # Test if subject was processed successful # # @return [Boolean] # # @api private # def success? failed_mutations.empty? end # Return tests used to kill mutations on this subject # # @return [Enumerable<Test>] # # @api private # def tests config.strategy.tests(subject) end memoize :tests private # Perform operation # # @return [undefined] # # @api private # def run @mutations = visit_collection(subject.mutations, tests) end end # Subject end # Runner end # Mutant
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mutant-0.5.23 | lib/mutant/runner/subject.rb |
mutant-0.5.22 | lib/mutant/runner/subject.rb |