Sha256: 9b75707d5e2b958c212bc86477ee4f9fbd2ebd91d74e6437b0de5194bde51114

Contents?: true

Size: 862 Bytes

Versions: 2

Compression:

Stored size: 862 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

describe Optimizer::Optimizable::ClassMethods, '#optimizer' do
  subject { object.optimizer }

  let(:object) { Class.new { include Optimizer::Optimizable, Adamantium } }

  context 'when the optimizer is not set' do
    it { should be_nil }
  end

  context 'when the optimizer is set' do
    let(:optimizer) { double('Optimizer') }

    before do
      object.optimizer = optimizer
    end

    it { should be(optimizer) }
  end
end

describe Optimizer::Optimizable::ClassMethods, '#optimizer=' do
  subject { object.optimizer = optimizer }

  let(:optimizer) { double('Optimizer')                                      }
  let(:object)    { Class.new { include Optimizer::Optimizable, Adamantium } }

  it 'sets the optimizer' do
    expect { subject }.to change { object.optimizer }.from(nil).to(optimizer)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
axiom-optimizer-0.2.0 spec/unit/axiom/optimizer/optimizable/class_methods/optimizer_spec.rb
axiom-optimizer-0.1.1 spec/unit/axiom/optimizer/optimizable/class_methods/optimizer_spec.rb