free_mutant/spec/unit/mutant/runner/config/subjects_spec.rb
2013-06-14 21:11:08 +02:00

38 lines
948 B
Ruby

require 'spec_helper'
describe Mutant::Runner::Config, '#subjects' do
let(:object) { described_class.run(config) }
subject { object.subjects }
let(:config) do
mock(
'Config',
:subjects => [mutation_subject],
:strategy => strategy,
:reporter => reporter
)
end
let(:reporter) { mock('Reporter') }
let(:strategy) { mock('Strategy') }
let(:mutation_subject) { mock('Mutation subject') }
let(:subject_runner) { mock('Subject runner') }
class DummySubjectRunner
include Concord::Public.new(:config, :mutation)
def self.run(*args); new(*args); end
end
before do
strategy.stub(:setup)
strategy.stub(:teardown)
reporter.stub(:report => reporter)
stub_const('Mutant::Runner::Subject', DummySubjectRunner)
end
it { should eql([DummySubjectRunner.new(object, mutation_subject)]) }
it_should_behave_like 'an idempotent method'
end