def test1PassByConstRef( self ): """Test passing arguments by const reference""" tnames = [ "bool", "short", "int", "long" ] for i in range(len(tnames)): gInterpreter.LoadText( "bool PyROOT_Regression_TakesRef%d(const %s& arg) { return arg; }" % (i, tnames[i]) ) self.assert_( not eval( "ROOT.PyROOT_Regression_TakesRef%d(0)" % (i,) ) ) self.assert_( eval( "ROOT.PyROOT_Regression_TakesRef%d(1)" % (i,) ) ) self.assertEqual( len(tnames)-1, i )
def test1DowncastOfInterpretedClass(self): """Auto-downcast of interpreted class""" code = """namespace RG18 { class Base { public: virtual ~Base(){} }; class Derived : public Base { virtual ~Derived() {} }; Base* g() { return new Derived(); } }""" gInterpreter.LoadText(code) self.assertEqual(type(ROOT.RG18.g()), ROOT.RG18.Derived)