Sha256: d12ebc6acefde8c89746a6c18f7bdff0607099cdcad5339fef9e6b3f8baac5db
Contents?: true
Size: 880 Bytes
Versions: 2
Compression:
Stored size: 880 Bytes
Contents
require 'spec_helper' describe SpaceObject::Encoder do let(:valid_example) { {:hello => 'world', 'foo' => :bar, 'foobar' => {'baz' => 'zip'}} } let(:invalid_example) { { 'keys are not allowed' => 'value' } } let(:wrong_class) { ['foo'] } describe '#encode' do it 'only encodes Hash objects' do expect { SpaceObject::Encoder.new(wrong_class).encode }.to raise_error(ArgumentError) end it 'encodes a compliant Hash as a SpaceObject::Base' do |variable| space = SpaceObject::Encoder.new(valid_example).encode expect(space['hello']).to eq('world') expect(space['foo']).to eq('bar') expect(space['foobar baz']).to eq('zip') end it 'raises a SpaceObject::EncodeError if an invalid key is present' do expect { SpaceObject::Encoder.new(invalid_example).encode }.to raise_error(SpaceObject::EncodeError) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
space_object-0.1.4 | spec/space_object/encoder_spec.rb |
space_object-0.1.3 | spec/space_object/encoder_spec.rb |