home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ruby164.zip / rbemx164.zip / ruby / share / doc / rdtool-0.6.10 / test / test-methodlist-item.rb < prev    next >
Text File  |  2001-03-19  |  3KB  |  99 lines

  1. require 'runit/testcase'
  2. require 'runit/cui/mytestrunner'
  3.  
  4. require 'rd/methodlist'
  5. require 'rd/rd-struct'
  6.  
  7. include RD
  8.  
  9. class TestMethodListItem < RUNIT::TestCase
  10.   def test_set_term
  11.     p = MethodListItem.new
  12.     c = MethodListItem::Term.new
  13.     p.set_term_under_document_struct(c, DocumentStructure::RD)
  14.     assert_equal(c, p.term)
  15.     assert_equal(p, c.parent)
  16.   end
  17.  
  18.   def test_make_term
  19.     tr = Tree.new_with_document_struct(DocumentStructure::RD)
  20.     de = DocumentElement.new
  21.     tr.root = de
  22.     di, dt = nil
  23.     de.build do
  24.       new MethodList do
  25.     di = new MethodListItem do
  26.       dt = make_term
  27.     end
  28.       end
  29.     end
  30.     assert_equal("<RD::MethodListItem>\n  <RD::MethodListItem::Term>",
  31.          di.inspect)
  32.     assert_equal(di.term, dt)
  33.   end
  34.  
  35.   def test_inspect
  36.     mi = MethodListItem.new
  37.     mt = MethodListItem::Term.new
  38.     se = StringElement.new "string"
  39.     tb = TextBlock.new
  40.     mi.set_term_under_document_struct(mt, DocumentStructure::RD)
  41.     mi.add_child_under_document_struct(tb, DocumentStructure::RD)
  42.     assert_equal("<RD::MethodListItem>\n  <RD::MethodListItem::Term>\n" +
  43.          "  <RD::TextBlock>", mi.inspect)
  44.     
  45.     mi_no_desc = MethodListItem.new
  46.     mt_no_desc = MethodListItem::Term.new
  47.     mi_no_desc.set_term_under_document_struct(mt_no_desc,
  48.                           DocumentStructure::RD)
  49.     assert_equal("<RD::MethodListItem>\n  <RD::MethodListItem::Term>",
  50.          mi_no_desc.inspect)
  51.  
  52.     mi_no_term = MethodListItem.new
  53.     mi_no_term.add_child_under_document_struct(TextBlock.new,
  54.                            DocumentStructure::RD)
  55.     assert_equal("<RD::MethodListItem>\n  <RD::TextBlock>",
  56.          mi_no_term.inspect)
  57.     assert_equal("<RD::MethodListItem>", MethodListItem.new.inspect)
  58.   end
  59.  
  60. end
  61.  
  62. class TestMethodListItemTerm < RUNIT::TestCase
  63.   def test_to_label
  64.     assert_equal("", MethodListItem::Term.new.to_label)
  65.     assert_equal("foo", MethodListItem::Term.new("foo").to_label)
  66.     assert_equal("foo", MethodListItem::Term.new("foo()").to_label)
  67.     assert_equal("foo", MethodListItem::Term.new("foo(arg)").to_label)
  68.     assert_equal("Foo#foo", MethodListItem::Term.new("Foo#foo(arg)").to_label)
  69.     assert_equal("Foo::foo", MethodListItem::Term.new("Foo::foo(arg)").to_label)    
  70.     assert_equal("foo", MethodListItem::Term.new("foo{|arg| ...}").to_label)
  71.     assert_equal("foo", MethodListItem::Term.new("foo(arg){|arg| ...}").to_label)
  72.     assert_equal("foo", MethodListItem::Term.new("foo  (arg)").to_label)
  73.   end
  74.  
  75.   def test_each_element
  76.     empty = MethodListItem::Term.new
  77.     exp = [empty]
  78.     i = 0
  79.     empty.each_element do |b|
  80.       assert_equal(exp[i], b)
  81.       i += 1
  82.     end
  83.  
  84.     foo = MethodListItem::Term.new("foo")
  85.     exp = [foo]
  86.     i = 0
  87.     foo.each_element do |b|
  88.       assert_equal(exp[i], b)
  89.       i += 1
  90.     end
  91.   end
  92. end
  93.  
  94. if $0 == __FILE__
  95.   suite = TestMethodListItem.suite
  96.   suite.add_test(TestMethodListItemTerm.suite)
  97.   RUNIT::CUI::MyTestRunner.run(suite)
  98. end
  99.