Sha256: 90e60f7d4e89c577f768eaba86782e08bf9d34b7c96e88779a37911b49042629

Contents?: true

Size: 1.17 KB

Versions: 4

Compression:

Stored size: 1.17 KB

Contents

require 'spec_helper'
module Alf
  describe AttrList, 'subset?' do

    context 'when equal' do
      let(:left){ AttrList[:id, :name] }
      let(:right){ AttrList[:name, :id] }

      it 'returns true if non proper' do
        left.subset?(right).should be_true
      end
      it 'returns false if proper' do
        left.subset?(right, true).should be_false
      end
    end

    context 'when both empty' do
      let(:left){ AttrList[] }
      let(:right){ AttrList[] }

      it 'returns true if non proper' do
        left.subset?(right).should be_true
      end
      it 'returns false if proper' do
        left.subset?(right, true).should be_false
      end
    end

    context 'when disjoint' do
      let(:left){ AttrList[:status] }
      let(:right){ AttrList[:name, :id] }

      it 'returns false' do
        left.subset?(right).should be_false
        left.subset?(right, true).should be_false
      end
    end

    context 'when a proper subset' do
      let(:left){ AttrList[:name] }
      let(:right){ AttrList[:id, :name] }

      it 'returns true' do
        left.subset?(right).should be_true
        left.subset?(right, true).should be_true
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alf-core-0.15.0 spec/unit/alf-types/attr_list/test_subset.rb
alf-core-0.14.0 spec/unit/alf-types/attr_list/test_subset.rb
alf-core-0.13.1 spec/unit/alf-types/attr_list/test_subset.rb
alf-core-0.13.0 spec/unit/alf-types/attr_list/test_subset.rb