From 0b2c6e87f191b2ef5ad404c8d16f507becbd53cf Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Thu, 13 Feb 2014 16:31:12 -0500 Subject: [PATCH] Implement equality for Dependencies collections --- Library/Homebrew/dependencies.rb | 8 ++++++++ Library/Homebrew/test/test_dependencies.rb | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/Library/Homebrew/dependencies.rb b/Library/Homebrew/dependencies.rb index 9d5c3dede4..addc17725c 100644 --- a/Library/Homebrew/dependencies.rb +++ b/Library/Homebrew/dependencies.rb @@ -46,4 +46,12 @@ class Dependencies def default build + required + recommended end + + attr_reader :deps + protected :deps + + def ==(other) + deps == other.deps + end + alias_method :eql?, :== end diff --git a/Library/Homebrew/test/test_dependencies.rb b/Library/Homebrew/test/test_dependencies.rb index ee7574c2bb..14b2e73b07 100644 --- a/Library/Homebrew/test/test_dependencies.rb +++ b/Library/Homebrew/test/test_dependencies.rb @@ -59,4 +59,22 @@ class DependenciesTests < Test::Unit::TestCase assert_equal [qux], @deps.recommended assert_equal [foo, baz, quux, qux].sort_by(&:name), @deps.default.sort_by(&:name) 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