Sha256: 9bbb7542f8ba286c8102ce4815d8fb8a2e2da419d2467c3e83c0f334806e03f2

Contents?: true

Size: 858 Bytes

Versions: 3

Compression:

Stored size: 858 Bytes

Contents

require 'spec_helper'

describe Itiel::Transform::ChainedStep do
  before :each do
    class Step
      include Itiel::Transform::ChainedStep
    end

    @step = Step.new
  end

  it "defines input=" do
    expect(@step).to respond_to :input=
  end

  it "defines setters and getters for next_step" do
    expect(@step).to respond_to :next_step
    expect(@step).to respond_to :next_step=
  end

  it "sets next_step.input as the result of transform!" do
    stream    = double
    next_step = double

    expect(@step).to receive(:transform!).with(stream).and_return stream
    expect(next_step).to receive(:input=).with(stream)

    @step.next_step = next_step
    @step.input     = stream
  end

  it "raises an error if transform! is not defined" do
    expect { @step.transform!(double) }.to raise_error Itiel::MethodNotImplementedException
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
itiel-0.1.2 spec/transform/chained_step_spec.rb
itiel-0.1.1 spec/transform/chained_step_spec.rb
itiel-0.1.0 spec/transform/chained_step_spec.rb