Sha256: 31489ed1b576bc06eb5ea30faac861d845ceb1cd5894936cadfe445adce7137e

Contents?: true

Size: 725 Bytes

Versions: 2

Compression:

Stored size: 725 Bytes

Contents

require 'spec_helper'

describe 'Veritas::Algebra::Projection' do
  context 'remove attributes in predicate' do
    subject { restriction.project([ :name ]) }

    let(:left)        { Relation.new([ [ :id, Integer ] ], (1..100).map { |n| [ n ] })                           }
    let(:right)       { Relation.new([ [ :name, String ] ], [ [ 'Dan Kubb' ], [ 'John Doe' ], [ 'Jane Doe' ] ])  }
    let(:relation)    { left * right                                                                             }
    let(:restriction) { relation.restrict { |r| r[:id].gte(1).and(r[:id].lte(10)).and(r[:name].eq('Dan Kubb')) } }

    it 'returns a relation with a single tuple' do
      should == [ [ 'Dan Kubb' ] ]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
veritas-0.0.2 spec/integration/veritas/algebra/projection_spec.rb
veritas-0.0.1 spec/integration/veritas/algebra/projection_spec.rb