import director_detect 

class MyBar(director_detect.Bar):
  def __init__(self, val = 2):
    director_detect.Bar.__init__(self)
    self.val = val

  def get_value(self):
    self.val = self.val + 1
    return self.val
  
  def get_class(self):
    self.val = self.val + 1
    return director_detect.A()

  def just_do_it(self):
    self.val = self.val + 1

  def clone(self):
    return MyBar(self.val)
  pass


b = MyBar()

f = b.baseclass()

v = f.get_value()
a = f.get_class()
f.just_do_it()

c = b.clone()
vc = c.get_value()

if (v != 3) or (b.val != 5) or (vc != 6):
  raise RuntimeError,"Bad virtual detection"
