Sha256: baf05ea09d95729fc6a9c288a4ac529781b14d5d78b891df3ce21409e0349908

Contents?: true

Size: 1.02 KB

Versions: 19

Compression:

Stored size: 1.02 KB

Contents

require 'spec_helper'

describe Mutant::Mutator, '#emit' do
  subject { object.send(:emit, generated) }

  class Block
    def arguments; @arguments; end

    def called?
      defined?(@arguments)
    end

    def call(*arguments)
      @arguments = arguments
    end
  end

  let(:object) { class_under_test.new(input, block) }
  let(:block)  { Block.new                          }
  let(:input)  { :nput                              }

  let(:class_under_test) do
    Class.new(described_class) do
      def dispatch
        #noop
      end
    end
  end

  context 'with generated that is not equal to input' do
    let(:generated) { :generated }

    it 'should call block' do
      subject
      block.should be_called
    end

    it 'should call block with generated' do
      subject
      block.arguments.should eql([generated])
    end
  end

  context 'with generated object that is equal to input' do
    let(:generated) { input }

    it 'should not call block' do
      subject
      block.should_not be_called
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
mutant-0.3.0.beta2 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.20 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.17 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.16 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.15 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.14 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.13 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.12 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.11 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.9 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.8 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.7 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.6 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.5 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.4 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.3 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.2 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.1 spec/unit/mutant/mutator/emit_spec.rb
mutant-0.2.0 spec/unit/mutant/mutator/emit_spec.rb