Sha256: d27359c2cafd47778bf706d65486d3a5613b461fdbcffe3959a130cf0fd7b74f

Contents?: true

Size: 998 Bytes

Versions: 3

Compression:

Stored size: 998 Bytes

Contents

# encoding: utf-8

module Selector

  describe Selector::Collection do

    let(:collection) { described_class.new set }
    let(:set)        { Set.new [:foo, :bar]    }

    describe ".new" do

      subject { collection }

      it { is_expected.to be_kind_of Condition }
      it { is_expected.to be_frozen }

      it "requires exactly 1 argument" do
        expect(collection.attribute).to eql(set)
        expect { described_class.new }.to raise_error ArgumentError
        expect { described_class.new [:foo], [:bar] }
          .to raise_error ArgumentError
      end

    end # describe .new

    describe "#[]" do

      subject { collection[value] }

      context "existing value" do

        let(:value) { :foo }
        it { is_expected.to eql(true) }

      end # context

      context "absent value" do

        let(:value) { :baz }
        it { is_expected.to eql(false) }

      end # context

    end # describe #[]

  end # describe Selector::Collection

end # module Selector

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
selector-0.0.3 spec/unit/selector/collection_spec.rb
selector-0.0.2 spec/unit/selector/collection_spec.rb
selector-0.0.1 spec/unit/selector/collection_spec.rb