Sha256: 7b56b82343ff4d26816066de0d1fc21c6d2929befc292a815ad56dfb91673d29
Contents?: true
Size: 1.16 KB
Versions: 3
Compression:
Stored size: 1.16 KB
Contents
require 'spec_helper' describe Mutant::Subject, '#each' do subject { object.each { |item| yields << item } } let(:class_under_test) do Class.new(described_class) end let(:object) { class_under_test.new(context, ast) } let(:root) { mock('Root Node') } let(:ast) { mock('Node') } let(:context) { mock('Context', :root => root) } let(:mutant) { mock('Mutant') } let(:mutation) { mock('Mutation') } let(:yields) { [] } before do Mutant::Mutator.stub(:each).with(ast).and_yield(mutant).and_return(Mutant::Mutator) Mutant::Mutation.stub(:new => mutation) end it_should_behave_like 'an #each method' it 'should initialize mutator with ast' do Mutant::Mutator.should_receive(:each).with(ast).and_yield(mutation).and_return(Mutant::Mutator) subject end it 'should yield mutations' do expect { subject }.to change { yields.dup }.from([]).to([mutation]) end it 'should initialize mutation' do Mutant::Mutation.should_receive(:new).with(object, mutant).and_return(mutation) subject end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mutant-0.3.0.beta4 | spec/unit/mutant/subject/each_spec.rb |
mutant-0.3.0.beta3 | spec/unit/mutant/subject/each_spec.rb |
mutant-0.3.0.beta2 | spec/unit/mutant/subject/each_spec.rb |