Sha256: 49b60672574a60c0966fc91dc1344544baf8988a073f2a49e5c77cc7eb2f3950

Contents?: true

Size: 864 Bytes

Versions: 1

Compression:

Stored size: 864 Bytes

Contents

require 'spec_helper'

describe 'Veritas::Optimizer::Algebra::Projection::ProjectionOperand#optimize' do
  subject { object.optimize }

  let(:klass)    { Optimizer::Algebra::Projection::ProjectionOperand                                }
  let(:header)   { Relation::Header.new([ [ :id, Integer ], [ :name, String ], [ :age, Integer ] ]) }
  let(:base)     { Relation.new(header, [ [ 1, 'Dan Kubb', 35 ] ].each)                             }
  let(:relation) { base.project([ :id, :name ]).project([ :id ])                                    }
  let(:object)   { klass.new(relation)                                                              }

  before do
    object.operation.should be_kind_of(Algebra::Projection)
  end

  it { should be_kind_of(Algebra::Projection) }

  its(:operand) { should equal(base) }

  its(:header) { should == [ header[:id] ] }
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
veritas-0.0.2 spec/unit/veritas/optimizer/algebra/projection/projection_operand/optimize_spec.rb