diff options
Diffstat (limited to 'spec/arel/unit/relations/compound_spec.rb')
-rw-r--r-- | spec/arel/unit/relations/compound_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/arel/unit/relations/compound_spec.rb b/spec/arel/unit/relations/compound_spec.rb new file mode 100644 index 0000000000..763e447db3 --- /dev/null +++ b/spec/arel/unit/relations/compound_spec.rb @@ -0,0 +1,31 @@ +require File.join(File.dirname(__FILE__), '..', '..', '..', 'spec_helper') + +module Arel + describe Compound do + before do + class ConcreteCompound < Compound + def initialize(relation) + @relation = relation + end + + def ==(other) + true + end + end + @relation = Table.new(:users) + @compound_relation = ConcreteCompound.new(@relation) + end + + describe '#attributes' do + it 'manufactures attributes associated with the compound relation' do + @compound_relation.attributes.should == @relation.attributes.collect { |a| a.bind(@compound_relation) } + end + end + + describe 'hashing' do + it 'implements hash equality' do + ConcreteCompound.new(@relation).should hash_the_same_as(ConcreteCompound.new(@relation)) + end + end + end +end
\ No newline at end of file |