aboutsummaryrefslogtreecommitdiffstats
path: root/spec/arel/unit/primitives/attribute_spec.rb
diff options
context:
space:
mode:
authorNick Kallen <nkallen@nick-kallens-computer-2.local>2008-05-05 11:22:48 -0700
committerNick Kallen <nkallen@nick-kallens-computer-2.local>2008-05-05 11:22:48 -0700
commitb9e90e4e55290172d7c5918319fd5fe35aa6a10e (patch)
treeef63a7974dd97012fc72dc3d33ec25f0884620e7 /spec/arel/unit/primitives/attribute_spec.rb
parentcd428ee66498146d3dc14f58c6534d79ab124b45 (diff)
downloadrails-b9e90e4e55290172d7c5918319fd5fe35aa6a10e.tar.gz
rails-b9e90e4e55290172d7c5918319fd5fe35aa6a10e.tar.bz2
rails-b9e90e4e55290172d7c5918319fd5fe35aa6a10e.zip
better column disambiguation
Diffstat (limited to 'spec/arel/unit/primitives/attribute_spec.rb')
-rw-r--r--spec/arel/unit/primitives/attribute_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/arel/unit/primitives/attribute_spec.rb b/spec/arel/unit/primitives/attribute_spec.rb
index 561c47da16..b253892b58 100644
--- a/spec/arel/unit/primitives/attribute_spec.rb
+++ b/spec/arel/unit/primitives/attribute_spec.rb
@@ -57,6 +57,35 @@ module Arel
end
end
+ describe '/' do
+ before do
+ @aliased_relation = @relation.alias
+ @doubly_aliased_relation = @aliased_relation.alias.alias.alias.alias
+ end
+
+ describe 'when dividing two identical attributes' do
+ it "returns 1.0" do
+ (@relation[:id] / @relation[:id]).should == 1.0
+ (@aliased_relation[:id] / @aliased_relation[:id]).should == 1.0
+ end
+ end
+
+ describe 'when dividing two unrelated attributes' do
+ it "returns 0.0" do
+ (@relation[:id] / @relation[:name]).should == 0.0
+ end
+ end
+
+ describe 'when dividing two similar attributes' do
+ it 'returns a the highest score for the most similar attributes' do
+ (@aliased_relation[:id] / @relation[:id]) \
+ .should == (@aliased_relation[:id] / @relation[:id])
+ (@aliased_relation[:id] / @relation[:id]) \
+ .should < (@aliased_relation[:id] / @aliased_relation[:id])
+ end
+ end
+ end
+
describe 'hashing' do
it "implements hash equality" do
Attribute.new(@relation, 'name').should hash_the_same_as(Attribute.new(@relation, 'name'))