Sha256: fbed19cbe31e8d2c41c7105560837c76a845df3de5c9017357126915a49fe514
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
require 'spec_helper' describe 'Veritas::Optimizer::Algebra::Restriction::ReverseOperand#optimize' do subject { object.optimize } let(:klass) { Optimizer::Algebra::Restriction::ReverseOperand } let(:order) { Relation.new([ [ :id, Integer ] ], [ [ 1 ] ].each).order } let(:predicate) { order[:id].eq(1) } let(:object) { klass.new(relation) } before do object.operation.should be_kind_of(Algebra::Restriction) object.operand.should be_kind_of(Relation::Operation::Reverse) end context 'when new operation is optimizable' do let(:relation) { order.take(2).restrict(predicate).reverse.restrict(predicate) } it { should be_kind_of(Relation::Operation::Reverse) } its(:operand) { should eql(order.take(2).restrict(predicate)) } end context 'when new operation is not optimizable' do let(:relation) { order.take(2).reverse.restrict(predicate) } it { should be_kind_of(Relation::Operation::Reverse) } its(:operand) { should eql(order.take(2).restrict(predicate)) } end end
Version data entries
2 entries across 2 versions & 1 rubygems