Sha256: 9cf7789b6a296adf7d637215921c00368340979372133520e4b869dd14b15480

Contents?: true

Size: 785 Bytes

Versions: 2

Compression:

Stored size: 785 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

describe Algebra::Join, '.new' do
  subject { object.new(left, right) }

  let(:header) { [[:id, Integer]]                 }
  let(:left)   { Relation.new(header, [[1], [2]]) }
  let(:object) { described_class                  }

  context 'with relations having headers with common attributes' do
    let(:right) { Relation.new([[:id, Integer], [:name, String]], [[2, 'Dan Kubb']]) }

    it { should be_instance_of(object) }
  end

  context 'with relations having equivalent headers' do
    let(:right) { left.dup }

    it { should be_instance_of(object) }
  end

  context 'with relations having different headers' do
    let(:right) { Relation.new([[:name, String]], [['Dan Kubb']]) }

    it { should be_instance_of(object) }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
axiom-0.2.0 spec/unit/axiom/algebra/join/class_methods/new_spec.rb
axiom-0.1.1 spec/unit/axiom/algebra/join/class_methods/new_spec.rb