1 require File.dirname(__FILE__) + '/helper'
3 class TestDependencyGraph < Test::Unit::TestCase
5 @dg = DependencyGraph.new
10 def test_new_should_accept_zero_arguments
11 assert @dg.instance_of?(DependencyGraph)
16 def test_add_should_create_and_store_two_new_nodes
18 assert_equal 2, @dg.nodes.size
19 assert @dg.nodes['foo'].instance_of?(DependencyGraph::Node)
20 assert @dg.nodes['bar'].instance_of?(DependencyGraph::Node)
23 def test_add_should_record_dependency
25 assert_equal 1, @dg.nodes['foo'].dependencies.size
26 assert_equal @dg.nodes['bar'], @dg.nodes['foo'].dependencies.first
29 def test_add_should_ignore_dups
32 assert_equal 2, @dg.nodes.size
33 assert_equal 1, @dg.nodes['foo'].dependencies.size
38 class TestDependencyGraphNode < Test::Unit::TestCase
40 @foo = DependencyGraph::Node.new('foo')
41 @bar = DependencyGraph::Node.new('bar')
46 def test_new_should_accept_zero_arguments
47 assert @foo.instance_of?(DependencyGraph::Node)
52 def test_add_should_store_node_as_dependency
54 assert_equal 1, @foo.dependencies.size
60 assert @foo.has_node?(@foo)