Sha256: 44387584eed864dc1fa70d3958e26dec3e46770aeacc08ac200db778015c83fc

Contents?: true

Size: 789 Bytes

Versions: 2

Compression:

Stored size: 789 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

describe Adamantium::Freezer, '.parse' do
  subject { object.parse(options) }

  let(:object)  { described_class   }
  let(:freezer) { double('Freezer') }

  context 'with empty options' do
    let(:options) { {} }

    it { should be(nil) }
  end

  context 'with :freezer key' do
    let(:options) { { freezer: name } }
    let(:name)    { double('Name')    }

    it 'should get freezer' do
      described_class.should_receive(:get).with(name).and_return(freezer)
      should be(freezer)
    end
  end

  context 'with any other key' do
    let(:options) { { other: :key } }

    it 'should raise error' do
      expect { subject }.to raise_error(described_class::OptionError, 'Unknown option key(s) for memoizer [:other]')
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
adamantium-0.2.0 spec/unit/adamantium/freezer/class_methods/parse_spec.rb
adamantium-0.1.0 spec/unit/adamantium/freezer/class_methods/parse_spec.rb