Sha256: 590e81cdb86b9fa4ac1163731e8824e9b58df3a663ab89ae2d276efcc9627125

Contents?: true

Size: 758 Bytes

Versions: 4

Compression:

Stored size: 758 Bytes

Contents

require 'spec_helper'
module Alf
  describe Relation, '.allbut' do

    let(:type){ Relation[name: String, status: Integer] }

    subject{ type.allbut(attr_list) }

    context 'with an empty attribute list' do
      let(:attr_list){ AttrList.new([]) }

      it 'allbuts as expected' do
        subject.should be(type)
      end
    end

    context 'with an non empty attribute list' do
      let(:attr_list){ AttrList.new([:name]) }

      it 'allbuts as expected' do
        subject.should eq(Relation[status: Integer])
      end
    end

    context 'with a full attribute list' do
      let(:attr_list){ AttrList.new([:name, :status]) }

      it 'reuses the type of DUM' do
        subject.should be(Relation::DUM.class)
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alf-core-0.15.0 spec/unit/alf-relation/relation/factored-types/test_allbut.rb
alf-core-0.14.0 spec/unit/alf-relation/relation/factored-types/test_allbut.rb
alf-core-0.13.1 spec/unit/alf-relation/relation/factored-types/test_allbut.rb
alf-core-0.13.0 spec/unit/alf-relation/relation/factored-types/test_allbut.rb