Simplify collector and result internals

This commit is contained in:
Markus Schirp 2014-10-08 00:10:58 +00:00
parent 9e333f40f9
commit 51aaf8aea6
6 changed files with 18 additions and 15 deletions

View file

@ -1,3 +1,3 @@
---
threshold: 18
total_score: 1105
total_score: 1125

View file

@ -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

View file

@ -24,7 +24,7 @@ module Mutant
run
@result = @collector.result.update(done: true)
@result = @collector.result
reporter.report(result)
end

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,5 @@
require 'spec_helper'
describe Mutant::Runner::Collector do
let(:object) { described_class.new }
end