diff options
| author | Jack Nagel | 2014-02-13 16:31:12 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-02-13 16:31:12 -0500 |
| commit | df3139a792fd30b1aee265d808d136606ccb526a (patch) | |
| tree | 3ff0adbb4e94f96c965a61f5231638a66434064e /Library | |
| parent | ccec300b73b26c2ee3a3153433583cb0bdba90a4 (diff) | |
| download | homebrew-df3139a792fd30b1aee265d808d136606ccb526a.tar.bz2 | |
Implement equality for Dependencies collections
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/dependencies.rb | 8 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_dependencies.rb | 18 |
2 files changed, 26 insertions, 0 deletions
diff --git a/Library/Homebrew/dependencies.rb b/Library/Homebrew/dependencies.rb index 9d5c3dede..addc17725 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 ee7574c2b..14b2e73b0 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 |
