From 29f73c43a5dde61a8ddea3dd31af7d806fc51c2b Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 14 Feb 2009 23:36:45 +0000 Subject: * test/test_pp.rb: extract from lib/pp.rb. * test/test_prettyprint.rb: extract from lib/prettyprint.rb. * test/test_tsort.rb: extract from lib/tsort.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/tsort.rb | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) (limited to 'lib/tsort.rb') diff --git a/lib/tsort.rb b/lib/tsort.rb index 9fc4feadcd..aa562ad1c5 100644 --- a/lib/tsort.rb +++ b/lib/tsort.rb @@ -241,50 +241,3 @@ module TSort raise NotImplementedError.new end end - -if __FILE__ == $0 - require 'test/unit' - - class TSortHash < Hash # :nodoc: - include TSort - alias tsort_each_node each_key - def tsort_each_child(node, &block) - fetch(node).each(&block) - end - end - - class TSortArray < Array # :nodoc: - include TSort - alias tsort_each_node each_index - def tsort_each_child(node, &block) - fetch(node).each(&block) - end - end - - class TSortTest < Test::Unit::TestCase # :nodoc: - def test_dag - h = TSortHash[{1=>[2, 3], 2=>[3], 3=>[]}] - assert_equal([3, 2, 1], h.tsort) - assert_equal([[3], [2], [1]], h.strongly_connected_components) - end - - def test_cycle - h = TSortHash[{1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}] - assert_equal([[4], [2, 3], [1]], - h.strongly_connected_components.map {|nodes| nodes.sort}) - assert_raise(TSort::Cyclic) { h.tsort } - end - - def test_array - a = TSortArray[[1], [0], [0], [2]] - assert_equal([[0, 1], [2], [3]], - a.strongly_connected_components.map {|nodes| nodes.sort}) - - a = TSortArray[[], [0]] - assert_equal([[0], [1]], - a.strongly_connected_components.map {|nodes| nodes.sort}) - end - end - -end - -- cgit v1.2.3