Simplify collector and result internals
This commit is contained in:
parent
9e333f40f9
commit
51aaf8aea6
6 changed files with 18 additions and 15 deletions
|
@ -1,3 +1,3 @@
|
|||
---
|
||||
threshold: 18
|
||||
total_score: 1105
|
||||
total_score: 1125
|
||||
|
|
|
@ -105,7 +105,7 @@ module Mutant
|
|||
|
||||
# Env result object
|
||||
class Env
|
||||
include Coverage, Result, Anima.new(:runtime, :env, :subject_results, :done)
|
||||
include Coverage, Result, Anima.new(:runtime, :env, :subject_results)
|
||||
|
||||
COVERAGE_PRECISION = 1
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ module Mutant
|
|||
|
||||
run
|
||||
|
||||
@result = @collector.result.update(done: true)
|
||||
@result = @collector.result
|
||||
|
||||
reporter.report(result)
|
||||
end
|
||||
|
|
|
@ -14,7 +14,7 @@ module Mutant
|
|||
super
|
||||
@start = Time.now
|
||||
@aggregate = Hash.new { |hash, key| hash[key] = [] }
|
||||
@activity = Hash.new(0)
|
||||
@active = Set.new
|
||||
@last_mutation_result = nil
|
||||
end
|
||||
|
||||
|
@ -50,12 +50,11 @@ module Mutant
|
|||
Result::Env.new(
|
||||
env: env,
|
||||
runtime: Time.now - @start,
|
||||
subject_results: subject_results,
|
||||
done: false
|
||||
subject_results: subject_results
|
||||
)
|
||||
end
|
||||
|
||||
# Handle mutation start
|
||||
# Register mutation start
|
||||
#
|
||||
# @param [Mutation] mutation
|
||||
#
|
||||
|
@ -64,7 +63,7 @@ module Mutant
|
|||
# @api private
|
||||
#
|
||||
def start(mutation)
|
||||
@activity[mutation.subject] += 1
|
||||
@active << mutation
|
||||
self
|
||||
end
|
||||
|
||||
|
@ -79,10 +78,10 @@ module Mutant
|
|||
def finish(mutation_result)
|
||||
@last_mutation_result = mutation_result
|
||||
|
||||
subject = mutation_result.mutation.subject
|
||||
mutation = mutation_result.mutation
|
||||
@active.delete(mutation)
|
||||
|
||||
@activity[subject] -= 1
|
||||
@aggregate[subject] << mutation_result
|
||||
@aggregate[mutation.subject] << mutation_result
|
||||
|
||||
self
|
||||
end
|
||||
|
@ -106,9 +105,9 @@ module Mutant
|
|||
# @api private
|
||||
#
|
||||
def active_subjects
|
||||
@activity.select do |_subject, count|
|
||||
count > 0
|
||||
end.map(&:first)
|
||||
@active.each_with_object(Set.new) do |mutation, subjects|
|
||||
subjects << mutation.subject
|
||||
end.sort_by(&:identification)
|
||||
end
|
||||
|
||||
# Return current subject result
|
||||
|
|
|
@ -33,7 +33,6 @@ RSpec.describe Mutant::Reporter::CLI do
|
|||
|
||||
let(:result) do
|
||||
Mutant::Result::Env.new(
|
||||
done: true,
|
||||
env: env,
|
||||
runtime: 1.1,
|
||||
subject_results: subject_results
|
||||
|
|
5
spec/unit/mutant/runner/collector_spec.rb
Normal file
5
spec/unit/mutant/runner/collector_spec.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Mutant::Runner::Collector do
|
||||
let(:object) { described_class.new }
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue