Sha256: 8d290223da95894d138ac7e4b1b3aeaf041f312298bc978a0d16bb20192bd418

Contents?: true

Size: 733 Bytes

Versions: 1

Compression:

Stored size: 733 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

describe 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

1 entries across 1 versions & 1 rubygems

Version Path
veritas-0.0.4 spec/integration/veritas/algebra/projection_spec.rb