Sha256: a5bdd6348ac4cad26c664626216d61e134b530eb1784ca5bed8f2249f19c8154

Contents?: true

Size: 729 Bytes

Versions: 2

Compression:

Stored size: 729 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 ] ], (0..11).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 & 2 rubygems

Version Path
axiom-0.1.0 spec/integration/axiom/algebra/projection_spec.rb
veritas-0.0.7 spec/integration/veritas/algebra/projection_spec.rb