Sha256: 9d604cf110db1870ce295fc5a75f2e9dcd44ca05671996c382dfae1e21404490

Contents?: true

Size: 817 Bytes

Versions: 10

Compression:

Stored size: 817 Bytes

Contents

require File.expand_path('../../../spec_helper', __FILE__)

require 'hamster/tuple'

describe Hamster::Tuple do

  describe "#to_ary" do

    describe "enables implicit conversion to" do

      before do
        @tuple = Hamster::Tuple.new("A", "B", "C", "D")
      end

      it "block parameters" do
        def func(&block)
          yield(@tuple)
        end
        func do |a, b, *c|
          a.should == "A"
          b.should == "B"
          c.should == ["C", "D"]
        end
      end

      it "method arguments" do
        def func(a, b, *c)
          a.should == "A"
          b.should == "B"
          c.should == ["C", "D"]
        end
        func(*@tuple)
      end

      it "works with splat" do
        array = *@tuple
        array.should == ["A", "B", "C", "D"]
      end

    end

  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
hamster-0.3.6 spec/hamster/tuple/to_ary_spec.rb
hamster-0.3.5 spec/hamster/tuple/to_ary_spec.rb
hamster-0.3.4 spec/hamster/tuple/to_ary_spec.rb
hamster-0.3.3 spec/hamster/tuple/to_ary_spec.rb
hamster-0.3.2 spec/hamster/tuple/to_ary_spec.rb
hamster-0.3.1 spec/hamster/tuple/to_ary_spec.rb
hamster-0.3.0 spec/hamster/tuple/to_ary_spec.rb
hamster-0.2.13 spec/hamster/tuple/to_ary_spec.rb
hamster-0.2.12 spec/hamster/tuple/to_ary_spec.rb
hamster-0.2.11 spec/hamster/tuple/to_ary_spec.rb