class Testmgr::TestComposite

Attributes

full_path[RW]
name[RW]
parent[RW]

Public Class Methods

new(name) click to toggle source
Calls superclass method Testmgr::AbstractTest::new
# File lib/testmgr/base/test_composite.rb, line 10
def initialize(name)
  super(name)
  @name=name
  @sub_tasks=[]
  @full_path = @name
  @parent=nil
end

Public Instance Methods

add(r) click to toggle source
# File lib/testmgr/base/test_composite.rb, line 50
def add(r)
  add_sub_task(r)
end
add_sub_task(task) click to toggle source
# File lib/testmgr/base/test_composite.rb, line 44
def add_sub_task(task)
  @sub_tasks << task
  task.set_parent(self)
  task
end
child(name) click to toggle source
# File lib/testmgr/base/test_composite.rb, line 96
def child(name)
#  puts __FILE__ + (__LINE__).to_s + " [search child]:#{name}"
  _child=nil

  @sub_tasks.each { |task|

  #  puts __FILE__ + (__LINE__).to_s + " o task( #{task.get_name} ) => #{task.class.to_s}"

    _c=task.child(name)
    if _c
    #  puts __FILE__ + (__LINE__).to_s + " Found => Name:#{_c.name}"
      _child=_c
    end
  }
  _child
end
getResult() click to toggle source
# File lib/testmgr/base/test_composite.rb, line 63
def getResult()
  rc=true
  @sub_tasks.each do |task|
    rc = rc && task.getResult()
  end

  rc
end
get_child(name) click to toggle source
# File lib/testmgr/base/test_composite.rb, line 113
def get_child(name)
  _c=child(name)

  if _c.nil?
    _c=testcase(name)
  end

#  puts __FILE__ + (__LINE__).to_s + " FOUND => #{_c.class.to_s} " + _c.name if _c
  _c
end
get_name() click to toggle source
# File lib/testmgr/base/test_composite.rb, line 18
def get_name
  @name
end
get_parent() click to toggle source
# File lib/testmgr/base/test_composite.rb, line 22
def get_parent
  @parent
end
get_parents() click to toggle source
# File lib/testmgr/base/test_composite.rb, line 26
def get_parents
  _parents=""
  _parents=@parent.get_name if @parent

  _p=@parent
  while _p && _p.get_parent do
    _parents = "#{_p.get_parent.get_name} => " + _parents
    _p=_p.get_parent
  end

  _parents
end
get_time_required() click to toggle source
# File lib/testmgr/base/test_composite.rb, line 58
def get_time_required
  time=0.0
  @sub_tasks.each { |task| time += task.get_time_required }
end
print() click to toggle source
remove_sub_task(task) click to toggle source
# File lib/testmgr/base/test_composite.rb, line 54
def remove_sub_task(task)
  @sub_tasks.delete(task)
end
set_parent(parent) click to toggle source
# File lib/testmgr/base/test_composite.rb, line 39
def set_parent(parent)
 # puts __FILE__ + (__LINE__).to_s + " CompositeTask::set_parent"
  @parent=parent
end
tc(name) click to toggle source
# File lib/testmgr/base/test_composite.rb, line 81
def tc(name)
  child(name)
end
testcase(name) click to toggle source
# File lib/testmgr/base/test_composite.rb, line 85
def testcase(name)
  tc=child(name)

  if tc.nil?
    _tc = Testmgr::TestCase.new(name, name)
    tc=add(_tc)
  end

  tc
end
total_number_basic_tasks() click to toggle source

Any one of hose subtasks could itself be a huge composite with many of its own sub-subtasks.

# File lib/testmgr/base/test_composite.rb, line 126
def total_number_basic_tasks
  total=0
  @sub_tasks.each { |task| total += task.total_number_basic_tasks }
  total
end