aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/arel/nodes/binary_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/cases/arel/nodes/binary_test.rb')
-rw-r--r--activerecord/test/cases/arel/nodes/binary_test.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/activerecord/test/cases/arel/nodes/binary_test.rb b/activerecord/test/cases/arel/nodes/binary_test.rb
new file mode 100644
index 0000000000..0bea35f7dd
--- /dev/null
+++ b/activerecord/test/cases/arel/nodes/binary_test.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+require_relative '../helper'
+
+module Arel
+ module Nodes
+ describe 'Binary' do
+ describe '#hash' do
+ it 'generates a hash based on its value' do
+ eq = Equality.new('foo', 'bar')
+ eq2 = Equality.new('foo', 'bar')
+ eq3 = Equality.new('bar', 'baz')
+
+ assert_equal eq.hash, eq2.hash
+ refute_equal eq.hash, eq3.hash
+ end
+
+ it 'generates a hash specific to its class' do
+ eq = Equality.new('foo', 'bar')
+ neq = NotEqual.new('foo', 'bar')
+
+ refute_equal eq.hash, neq.hash
+ end
+ end
+ end
+ end
+end