Sha256: 7b984f477e964fe870196c47da5dd51a4e783fbe71f255f313ff7e1a81fac4dd

Contents?: true

Size: 861 Bytes

Versions: 2

Compression:

Stored size: 861 Bytes

Contents

require 'spec_helper'
module Alf
  module Relvar
    describe Virtual, "delete" do

      let(:rv)        { Virtual.new(expr)                       }
      let(:expr)      { Algebra.named_operand(:suppliers, self) }

      def delete(*args)
        @seen = args
      end

      def relvar(name)
        Relvar::Base.new(Algebra.named_operand(name, self))
      end

      context 'with a predicate' do
        let(:predicate) { Predicate.eq(:sid, 1) }

        subject{ rv.delete(predicate) }

        it 'delegates the call to the connection' do
          subject
          @seen.should eq([:suppliers, predicate])
        end
      end

      context 'without predicate' do

        subject{ rv.delete }

        it 'uses a tautology' do
          subject
          @seen.should eq([:suppliers, Predicate.tautology])
        end
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
alf-core-0.15.0 spec/unit/alf-relvar/virtual/test_delete.rb
alf-core-0.14.0 spec/unit/alf-relvar/virtual/test_delete.rb