Implement equality for Dependencies collections

This commit is contained in:
Jack Nagel 2014-02-13 16:31:12 -05:00
parent 257a2206a4
commit 0b2c6e87f1
2 changed files with 26 additions and 0 deletions

View File

@ -46,4 +46,12 @@ class Dependencies
def default def default
build + required + recommended build + required + recommended
end end
attr_reader :deps
protected :deps
def ==(other)
deps == other.deps
end
alias_method :eql?, :==
end end

View File

@ -59,4 +59,22 @@ class DependenciesTests < Test::Unit::TestCase
assert_equal [qux], @deps.recommended assert_equal [qux], @deps.recommended
assert_equal [foo, baz, quux, qux].sort_by(&:name), @deps.default.sort_by(&:name) assert_equal [foo, baz, quux, qux].sort_by(&:name), @deps.default.sort_by(&:name)
end end
def test_equality
a = Dependencies.new
b = Dependencies.new
dep = Dependency.new("foo")
a << dep
b << dep
assert_equal a, b
assert a.eql?(b)
b << Dependency.new("bar", [:optional])
assert_not_equal a, b
assert !a.eql?(b)
end
end end