[pygccxml-commit] SF.net SVN: pygccxml: [1366] pyplusplus_dev/unittests
Brought to you by:
mbaas,
roman_yakovenko
|
From: <rom...@us...> - 2008-07-06 19:29:31
|
Revision: 1366
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1366&view=rev
Author: roman_yakovenko
Date: 2008-07-06 12:29:39 -0700 (Sun, 06 Jul 2008)
Log Message:
-----------
add new unit test
Added Paths:
-----------
pyplusplus_dev/unittests/bool_by_ref_tester.py
pyplusplus_dev/unittests/data/bool_by_ref_to_be_exported.hpp
Added: pyplusplus_dev/unittests/bool_by_ref_tester.py
===================================================================
--- pyplusplus_dev/unittests/bool_by_ref_tester.py (rev 0)
+++ pyplusplus_dev/unittests/bool_by_ref_tester.py 2008-07-06 19:29:39 UTC (rev 1366)
@@ -0,0 +1,51 @@
+# Copyright 2004 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+ EXTENSION_NAME = 'bool_by_ref'
+
+ def __init__( self, *args ):
+ fundamental_tester_base.fundamental_tester_base_t.__init__(
+ self
+ , tester_t.EXTENSION_NAME
+ , *args )
+
+ def customize( self, mb ):
+ set_flag = mb.mem_fun( '::tests::listener::listen' )
+ set_flag.add_transformation( ft.inout(2) )
+
+
+ def run_tests(self, module):
+ class list1 ( module.listener ):
+ def __init__ ( self ):
+ module.listener.__init__(self)
+ def listen( self, id, name, skip):
+ print "Python: listen called with", id, name, skip
+ return True ## Test always returns True...
+
+ c = list1()
+ ret = module.callListener( c )
+ print ret
+
+def create_suite():
+ suite = unittest.TestSuite()
+ suite.addTest( unittest.makeSuite(tester_t))
+ return suite
+
+def run_suite():
+ unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+ run_suite()
Added: pyplusplus_dev/unittests/data/bool_by_ref_to_be_exported.hpp
===================================================================
--- pyplusplus_dev/unittests/data/bool_by_ref_to_be_exported.hpp (rev 0)
+++ pyplusplus_dev/unittests/data/bool_by_ref_to_be_exported.hpp 2008-07-06 19:29:39 UTC (rev 1366)
@@ -0,0 +1,21 @@
+#include <stdexcept>
+#include <iostream>
+
+namespace tests{
+
+class listener {
+ public:
+ virtual void listen(int id, const std::string& name, bool& skip) {
+ throw std::runtime_error ( std::string ("Virtual function listener::listen called!") );
+ }
+};
+
+bool callListener ( listener* myListener) {
+ bool skip = false;
+ std::cout << "C++: Calling myListener->listen\n";
+ myListener->listen(100, "test", skip);
+ std::cout << "C++: Called OK " << skip <<"\n";
+ return skip;
+}
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|