diff options
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/test_comparableset.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_comparableset.rb b/Library/Homebrew/test/test_comparableset.rb new file mode 100644 index 000000000..d39ad51d6 --- /dev/null +++ b/Library/Homebrew/test/test_comparableset.rb @@ -0,0 +1,40 @@ +require 'testing_env' +require 'extend/set' + +class ComparableSetTests < Test::Unit::TestCase + def setup + @set = ComparableSet.new + end + + def test_merging_multiple_dependencies + @set << X11Dependency.new + @set << X11Dependency.new + assert_equal @set.count, 1 + @set << Requirement.new + assert_equal @set.count, 2 + end + + def test_comparison_prefers_larger + @set << X11Dependency.new + @set << X11Dependency.new('2.6') + assert_equal @set.count, 1 + assert_equal @set.to_a, [X11Dependency.new('2.6')] + end + + def test_comparison_does_not_merge_smaller + @set << X11Dependency.new('2.6') + @set << X11Dependency.new + assert_equal @set.count, 1 + assert_equal @set.to_a, [X11Dependency.new('2.6')] + end + + def test_merging_sets + @set << X11Dependency.new + @set << Requirement.new + reqs = Set.new [X11Dependency.new('2.6'), Requirement.new] + @set.merge reqs + + assert_equal @set.count, 2 + assert_equal @set.find {|r| r.is_a? X11Dependency}, X11Dependency.new('2.6') + end +end |
