Sha256: f571db0d35a53a2a8750cfe77317faad3ff1c8b6679b33ff0eaa040b62464b7e

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

require 'spec_helper'
module Alf
  module Algebra
    describe Defaults, 'heading' do

      let(:operand){
        an_operand.with_heading(:id => Integer, :name => String)
      }

      subject{ op.heading }

      context '--no-strict' do
        let(:op){ 
          a_lispy.defaults(operand, {:id => lambda{12}})
        }
        let(:expected){
          Heading[:id => String, :name => String]
        }

        it {
          pending "type inference on expressions not implemented" do
            should eq(expected)
          end
        }

        it{ should eq(Heading[:id => Object, :name => String]) }
      end

      context '--strict' do
        let(:op){ 
          a_lispy.defaults(operand, {:id => lambda{12}}, :strict => true)
        }
        let(:expected){
          Heading[:id => String]
        }

        it {
          pending "type inference on expressions not implemented" do
            should eq(expected)
          end
        }

        it{ should eq(Heading[:id => Object]) }
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alf-core-0.15.0 spec/unit/alf-algebra/operator/defaults/test_heading.rb
alf-core-0.14.0 spec/unit/alf-algebra/operator/defaults/test_heading.rb
alf-core-0.13.1 spec/unit/alf-algebra/operator/defaults/test_heading.rb
alf-core-0.13.0 spec/unit/alf-algebra/operator/defaults/test_heading.rb