aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/test_comparableset.rb40
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