diff --git a/Library/Homebrew/test/test_dependencies.rb b/Library/Homebrew/test/test_dependencies.rb index 68c4043cbb..acf613b3db 100644 --- a/Library/Homebrew/test/test_dependencies.rb +++ b/Library/Homebrew/test/test_dependencies.rb @@ -1,40 +1,6 @@ require 'testing_env' -require 'test/testball' require 'dependencies' -module DependencyCollectorTestExtension - def find_dependency(name) - deps.find { |dep| dep.name == name } - end -end - -class DependencyCollectorTests < Test::Unit::TestCase - def setup - @d = DependencyCollector.new.extend(DependencyCollectorTestExtension) - end - - def test_dependency_creation - @d.add 'foo' => :build - @d.add 'bar' => ['--universal', :optional] - assert_not_nil @d.find_dependency('foo') - assert_equal 2, @d.find_dependency('bar').tags.length - end - - def test_dependency_tags - assert Dependency.new('foo', :build).build? - assert Dependency.new('foo', [:build, :optional]).optional? - assert Dependency.new('foo', [:universal]).options.include? '--universal' - assert_empty Dependency.new('foo').tags - end - - def test_no_duplicate_dependencies - @d.add 'foo' - @d.add 'foo' => :build - assert_equal 1, @d.deps.count - assert_empty @d.find_dependency('foo').tags - end -end - class DependenciesTests < Test::Unit::TestCase def setup @deps = Dependencies.new @@ -71,52 +37,3 @@ class DependenciesTests < Test::Unit::TestCase assert_instance_of Array, @deps.to_ary end end - -class DependableTests < Test::Unit::TestCase - def setup - @tags = ["foo", "bar", :build] - @dep = Struct.new(:tags).new(@tags).extend(Dependable) - end - - def test_options - assert_equal %w{--foo --bar}.sort, @dep.options.sort - end - - def test_interrogation - assert @dep.build? - assert !@dep.optional? - assert !@dep.recommended? - end -end - -class DependencyTests < Test::Unit::TestCase - def test_accepts_single_tag - dep = Dependency.new("foo", "bar") - assert_equal %w{bar}, dep.tags - end - - def test_accepts_multiple_tags - dep = Dependency.new("foo", %w{bar baz}) - assert_equal %w{bar baz}.sort, dep.tags.sort - end - - def test_preserves_symbol_tags - dep = Dependency.new("foo", :build) - assert_equal [:build], dep.tags - end - - def test_accepts_symbol_and_string_tags - dep = Dependency.new("foo", [:build, "bar"]) - assert_equal [:build, "bar"], dep.tags - end - - def test_equality - foo1 = Dependency.new("foo") - foo2 = Dependency.new("foo") - bar = Dependency.new("bar") - assert_equal foo1, foo2 - assert foo1.eql?(foo2) - assert_not_equal foo1, bar - assert !foo1.eql?(bar) - end -end diff --git a/Library/Homebrew/test/test_dependency.rb b/Library/Homebrew/test/test_dependency.rb new file mode 100644 index 0000000000..a043c1bd5b --- /dev/null +++ b/Library/Homebrew/test/test_dependency.rb @@ -0,0 +1,51 @@ +require 'testing_env' +require 'dependencies' + +class DependableTests < Test::Unit::TestCase + def setup + @tags = ["foo", "bar", :build] + @dep = Struct.new(:tags).new(@tags).extend(Dependable) + end + + def test_options + assert_equal %w{--foo --bar}.sort, @dep.options.sort + end + + def test_interrogation + assert @dep.build? + assert !@dep.optional? + assert !@dep.recommended? + end +end + +class DependencyTests < Test::Unit::TestCase + def test_accepts_single_tag + dep = Dependency.new("foo", "bar") + assert_equal %w{bar}, dep.tags + end + + def test_accepts_multiple_tags + dep = Dependency.new("foo", %w{bar baz}) + assert_equal %w{bar baz}.sort, dep.tags.sort + end + + def test_preserves_symbol_tags + dep = Dependency.new("foo", :build) + assert_equal [:build], dep.tags + end + + def test_accepts_symbol_and_string_tags + dep = Dependency.new("foo", [:build, "bar"]) + assert_equal [:build, "bar"], dep.tags + end + + def test_equality + foo1 = Dependency.new("foo") + foo2 = Dependency.new("foo") + bar = Dependency.new("bar") + assert_equal foo1, foo2 + assert foo1.eql?(foo2) + assert_not_equal foo1, bar + assert !foo1.eql?(bar) + end +end diff --git a/Library/Homebrew/test/test_requirements.rb b/Library/Homebrew/test/test_dependency_collector.rb similarity index 76% rename from Library/Homebrew/test/test_requirements.rb rename to Library/Homebrew/test/test_dependency_collector.rb index c8a8e1ba87..ded49f91f4 100644 --- a/Library/Homebrew/test/test_requirements.rb +++ b/Library/Homebrew/test/test_dependency_collector.rb @@ -1,18 +1,41 @@ require 'testing_env' -require 'test/testball' require 'dependencies' +require 'extend/set' + +module DependencyCollectorTestExtension + def find_dependency(name) + deps.find { |dep| dep.name == name } + end -class DependencyCollector def find_requirement(klass) - requirements.find do |req| - klass === req - end + requirements.find { |req| klass === req } end end -class RequirementTests < Test::Unit::TestCase +class DependencyCollectorTests < Test::Unit::TestCase def setup - @d = DependencyCollector.new + @d = DependencyCollector.new.extend(DependencyCollectorTestExtension) + end + + def test_dependency_creation + @d.add 'foo' => :build + @d.add 'bar' => ['--universal', :optional] + assert_not_nil @d.find_dependency('foo') + assert_equal 2, @d.find_dependency('bar').tags.length + end + + def test_dependency_tags + assert Dependency.new('foo', :build).build? + assert Dependency.new('foo', [:build, :optional]).optional? + assert Dependency.new('foo', [:universal]).options.include? '--universal' + assert_empty Dependency.new('foo').tags + end + + def test_no_duplicate_dependencies + @d.add 'foo' + @d.add 'foo' => :build + assert_equal 1, @d.deps.count + assert_empty @d.find_dependency('foo').tags end def test_requirement_creation @@ -20,17 +43,10 @@ class RequirementTests < Test::Unit::TestCase assert_not_nil @d.find_requirement(X11Dependency) end - def test_no_duplicate_requirements 2.times { @d.add :x11 } assert_equal 1, @d.requirements.length end -end - -class RequirementTagTests < Test::Unit::TestCase - def setup - @d = DependencyCollector.new - end def test_requirement_tags @d.add :x11 => '2.5.1' diff --git a/Library/Homebrew/test/test_requirement.rb b/Library/Homebrew/test/test_requirement.rb new file mode 100644 index 0000000000..fabada066f --- /dev/null +++ b/Library/Homebrew/test/test_requirement.rb @@ -0,0 +1,28 @@ +require 'testing_env' +require 'dependencies' + +class RequirementTests < Test::Unit::TestCase + def test_accepts_single_tag + dep = Requirement.new("bar") + assert_equal %w{bar}, dep.tags + end + + def test_accepts_multiple_tags + dep = Requirement.new(%w{bar baz}) + assert_equal %w{bar baz}.sort, dep.tags.sort + dep = Requirement.new(*%w{bar baz}) + assert_equal %w{bar baz}.sort, dep.tags.sort + end + + def test_preserves_symbol_tags + dep = Requirement.new(:build) + assert_equal [:build], dep.tags + end + + def test_accepts_symbol_and_string_tags + dep = Requirement.new([:build, "bar"]) + assert_equal [:build, "bar"], dep.tags + dep = Requirement.new(:build, "bar") + assert_equal [:build, "bar"], dep.tags + end +end