module Inheritance
  module M
  end
  class C < Object
    include M
  end
  class S < C
  end
end

puts "\nancestors of standard object"
puts Inheritance::S.ancestors

obj = Inheritance::S.new

puts "\nkind_of? tests for standard object"
puts obj.kind_of? Inheritance::S
puts obj.kind_of? Inheritance::M
puts obj.kind_of? Inheritance::C
puts obj.kind_of? Object
puts obj.kind_of? Hash

puts "\ninstance_of? tests for standard object"
puts obj.instance_of? Inheritance::S
puts obj.instance_of? Inheritance::M
puts obj.instance_of? Inheritance::C
puts obj.instance_of? Object
puts obj.instance_of? Hash

require 'Qt4'

puts "\nancestors of QtRuby object"
puts Qt::Label.ancestors

app = Qt::Application.new(ARGV)
label = Qt::Label.new

puts "\nkind_of? tests for QtRuby object"
puts label.kind_of? Qt::Label
puts label.kind_of? Qt::Widget
puts label.kind_of? Object
puts label.kind_of? Hash

puts "\ninstance_of? tests for QtRuby object"
puts label.instance_of? Qt::Label
puts label.instance_of? Qt::Widget
puts label.instance_of? Object
puts label.instance_of? Hash
