Sha256: 6c8b306a636e880ac881c7d37390e9309ad55a5d9e33e1e48f425513afff8fc0

Contents?: true

Size: 852 Bytes

Versions: 2

Compression:

Stored size: 852 Bytes

Contents

require 'spec_helper'
require 'parameters/types/set'
require 'parameters/types/integer'

describe Parameters::Types::Set do
  let(:array) { [1, 2, 3]    }
  let(:set)   { Set[1, 2, 3] }

  subject { described_class }

  describe "coerce" do
    it "should call #to_set" do
      subject.coerce(array).should == set
    end
  end

  context "instance" do
    let(:numbers) { %w[1 2 3] }

    subject { described_class.new(Parameters::Types::Integer.new) }

    it "should have a Ruby type" do
      subject.to_ruby.should == Set[Integer]
    end

    describe "#===" do
      it "should check the type of each element" do
        subject.should_not === numbers

        subject.should === set
      end
    end

    describe "#coerce" do
      it "should coerce each element" do
        subject.coerce(numbers).should == set
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
parameters-0.3.1 spec/types/set_spec.rb
parameters-0.3.0 spec/types/set_spec.rb