aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/test_dependency.rb
diff options
context:
space:
mode:
authorJack Nagel2013-01-13 20:05:09 -0600
committerJack Nagel2013-01-13 21:01:15 -0600
commitfe4f39dcee409c8b9b164f20d86024ae02a792b2 (patch)
tree38e57a5cf2915f6b991450e07be506e0e495ea39 /Library/Homebrew/test/test_dependency.rb
parente629f14d56b803ffbc7f3470175f2b021a8816eb (diff)
downloadbrew-fe4f39dcee409c8b9b164f20d86024ae02a792b2.tar.bz2
Split up dependency test coverage
The DependencyCollector tests are really integration tests, while the rest are closer to real unit tests. Split them up so that the tests can be run in isolation on a per-class basis.
Diffstat (limited to 'Library/Homebrew/test/test_dependency.rb')
-rw-r--r--Library/Homebrew/test/test_dependency.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_dependency.rb b/Library/Homebrew/test/test_dependency.rb
new file mode 100644
index 000000000..a043c1bd5
--- /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