Bläddra i källkod

c++调用python,python再调用c++,test通过

Tang Hai 14 år sedan
förälder
incheckning
0e434d2a1c
2 ändrade filer med 5 tillägg och 1 borttagningar
  1. 3 0
      Src/Egametang/Python/PythonInitTest.cc
  2. 2 1
      Src/Egametang/Python/PythonInitTest.py

+ 3 - 0
Src/Egametang/Python/PythonInitTest.cc

@@ -95,6 +95,8 @@ BOOST_PYTHON_MODULE(Person)
 	boost::python::class_<Person>("Person")
 		.def("SetGuid", &Person::SetGuid)
 		.def("Guid", &Person::Guid)
+		.def("SetName", &Person::SetName)
+		.def("Name", &Person::Name)
 	;
 	boost::python::register_ptr_to_python<PersonPtr>();
 }
@@ -118,6 +120,7 @@ TEST_F(PythonInitTest, EnterPythonScript)
 		// 进到python脚本层设置person的值为2
 		boost::python::exec(str.c_str(), main_namespace);
 		ASSERT_EQ(2, person->Guid());
+		ASSERT_EQ(std::string("tanghai"), person->Name());
 	}
 	catch (boost::python::error_already_set& err)
 	{

+ 2 - 1
Src/Egametang/Python/PythonInitTest.py

@@ -2,4 +2,5 @@
 #-*- coding: utf-8 -*-
 
 def fun(person):
-	person.SetGuid(2)
+	person.SetGuid(2)
+	person.SetName("tanghai")