mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
require 'helper'
|
|
|
|
module Arel
|
|
module Nodes
|
|
class TestInfixOperation < Minitest::Test
|
|
def test_construct
|
|
operation = InfixOperation.new :+, 1, 2
|
|
assert_equal :+, operation.operator
|
|
assert_equal 1, operation.left
|
|
assert_equal 2, operation.right
|
|
end
|
|
|
|
def test_operation_alias
|
|
operation = InfixOperation.new :+, 1, 2
|
|
aliaz = operation.as('zomg')
|
|
assert_kind_of As, aliaz
|
|
assert_equal operation, aliaz.left
|
|
assert_equal 'zomg', aliaz.right
|
|
end
|
|
|
|
def test_opertaion_ordering
|
|
operation = InfixOperation.new :+, 1, 2
|
|
ordering = operation.desc
|
|
assert_kind_of Descending, ordering
|
|
assert_equal operation, ordering.expr
|
|
assert ordering.descending?
|
|
end
|
|
|
|
def test_equality_with_same_ivars
|
|
array = [InfixOperation.new(:+, 1, 2), InfixOperation.new(:+, 1, 2)]
|
|
assert_equal 1, array.uniq.size
|
|
end
|
|
|
|
def test_inequality_with_different_ivars
|
|
array = [InfixOperation.new(:+, 1, 2), InfixOperation.new(:+, 1, 3)]
|
|
assert_equal 2, array.uniq.size
|
|
end
|
|
end
|
|
end
|
|
end
|