diff options
| author | Jack Nagel | 2014-02-13 16:31:12 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-02-13 16:31:12 -0500 |
| commit | 0b2c6e87f191b2ef5ad404c8d16f507becbd53cf (patch) | |
| tree | 5e70f642f03c88d39647b45f261a87f32e6ee095 /Library | |
| parent | 257a2206a41d0b75ea3e07067e12dec9d06c0e2d (diff) | |
| download | brew-0b2c6e87f191b2ef5ad404c8d16f507becbd53cf.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 |
