module RGen::Ext::Comparison::UnorderedComparison
Public Class Methods
eql?(left,right,element_comparator)
click to toggle source
# File lib/rgen/ext/comparison.rb, line 11 def self.eql?(left,right,element_comparator) return false unless left.count==right.count left.each do |l| return false unless how_many_times_in(l,left,element_comparator)==how_many_times_in(l,right,element_comparator) end true end
Private Class Methods
how_many_times_in(el,array,element_comparator)
click to toggle source
# File lib/rgen/ext/comparison.rb, line 21 def self.how_many_times_in(el,array,element_comparator) count = 0 array.each do |other| if element_comparator count += 1 if element_comparator.eql?(el,other) else count += 1 if el.eql?(other) end end count end