Я пытаюсь использовать разностный метод (массив1 - массив2), и он не работает должным образом.
Мой модульный тест:
a = DeepsEdge.new(Set[1,2])
b = DeepsEdge.new(Set[3,4])
c = DeepsEdge.new(Set[3,4])
assert a != b, "these are equal and should not be"
assert_equal c, b
assert_not_equal a, b
assert_not_same c, b
x = [a,b]
y = [c]
assert_equal x, [a,c]
assert_equal y, [b]
assert b.eql?(c), 'b not eql? to c' #tests up to and including this line pass
assert_equal x-y, [a] #does not pass
Я неуверен, что здесь происходит.Класс DeepsEdge включает в себя сопоставимые.Я перегружен <=> и eql ?.Как я могу получить xy, чтобы вернуть [a], а не [a, c]?