Use external interface in tests
This commit is contained in:
parent
cd4b801749
commit
d8f86f290b
@ -2,19 +2,17 @@ require 'testing_env'
|
|||||||
require 'dependency_collector'
|
require 'dependency_collector'
|
||||||
require 'extend/set'
|
require 'extend/set'
|
||||||
|
|
||||||
module DependencyCollectorTestExtension
|
class DependencyCollectorTests < Test::Unit::TestCase
|
||||||
def find_dependency(name)
|
def find_dependency(name)
|
||||||
deps.find { |dep| dep.name == name }
|
@d.deps.find { |dep| dep.name == name }
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_requirement(klass)
|
def find_requirement(klass)
|
||||||
requirements.find { |req| klass === req }
|
@d.requirements.find { |req| klass === req }
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
class DependencyCollectorTests < Test::Unit::TestCase
|
|
||||||
def setup
|
def setup
|
||||||
@d = DependencyCollector.new.extend(DependencyCollectorTestExtension)
|
@d = DependencyCollector.new
|
||||||
end
|
end
|
||||||
|
|
||||||
def teardown
|
def teardown
|
||||||
@ -24,8 +22,8 @@ class DependencyCollectorTests < Test::Unit::TestCase
|
|||||||
def test_dependency_creation
|
def test_dependency_creation
|
||||||
@d.add 'foo' => :build
|
@d.add 'foo' => :build
|
||||||
@d.add 'bar' => ['--universal', :optional]
|
@d.add 'bar' => ['--universal', :optional]
|
||||||
assert_instance_of Dependency, @d.find_dependency('foo')
|
assert_instance_of Dependency, find_dependency("foo")
|
||||||
assert_equal 2, @d.find_dependency('bar').tags.length
|
assert_equal 2, find_dependency("bar").tags.length
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_add_returns_created_dep
|
def test_add_returns_created_dep
|
||||||
@ -44,12 +42,12 @@ class DependencyCollectorTests < Test::Unit::TestCase
|
|||||||
@d.add 'foo'
|
@d.add 'foo'
|
||||||
@d.add 'foo' => :build
|
@d.add 'foo' => :build
|
||||||
assert_equal 1, @d.deps.count
|
assert_equal 1, @d.deps.count
|
||||||
assert_empty @d.find_dependency('foo').tags
|
assert_empty find_dependency("foo").tags
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_requirement_creation
|
def test_requirement_creation
|
||||||
@d.add :x11
|
@d.add :x11
|
||||||
assert_instance_of X11Dependency, @d.find_requirement(X11Dependency)
|
assert_instance_of X11Dependency, find_requirement(X11Dependency)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_no_duplicate_requirements
|
def test_no_duplicate_requirements
|
||||||
@ -60,28 +58,28 @@ class DependencyCollectorTests < Test::Unit::TestCase
|
|||||||
def test_requirement_tags
|
def test_requirement_tags
|
||||||
@d.add :x11 => '2.5.1'
|
@d.add :x11 => '2.5.1'
|
||||||
@d.add :xcode => :build
|
@d.add :xcode => :build
|
||||||
assert_empty @d.find_requirement(X11Dependency).tags
|
assert_empty find_requirement(X11Dependency).tags
|
||||||
assert @d.find_requirement(XcodeDependency).build?
|
assert find_requirement(XcodeDependency).build?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x11_no_tag
|
def test_x11_no_tag
|
||||||
@d.add :x11
|
@d.add :x11
|
||||||
assert_empty @d.find_requirement(X11Dependency).tags
|
assert_empty find_requirement(X11Dependency).tags
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x11_min_version
|
def test_x11_min_version
|
||||||
@d.add :x11 => '2.5.1'
|
@d.add :x11 => '2.5.1'
|
||||||
assert_equal '2.5.1', @d.find_requirement(X11Dependency).min_version
|
assert_equal "2.5.1", find_requirement(X11Dependency).min_version
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x11_tag
|
def test_x11_tag
|
||||||
@d.add :x11 => :optional
|
@d.add :x11 => :optional
|
||||||
assert @d.find_requirement(X11Dependency).optional?
|
assert find_requirement(X11Dependency).optional?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x11_min_version_and_tag
|
def test_x11_min_version_and_tag
|
||||||
@d.add :x11 => ['2.5.1', :optional]
|
@d.add :x11 => ['2.5.1', :optional]
|
||||||
dep = @d.find_requirement(X11Dependency)
|
dep = find_requirement(X11Dependency)
|
||||||
assert_equal '2.5.1', dep.min_version
|
assert_equal '2.5.1', dep.min_version
|
||||||
assert dep.optional?
|
assert dep.optional?
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user