1 #define BOOST_TEST_DYN_LINK
2 #define BOOST_TEST_MODULE test_python
3 #include <boost/test/unit_test.hpp>
5 #include "py/python.hpp"
8 namespace py = boost::python;
10 BOOST_AUTO_TEST_CASE( execute_python )
12 get_py().run("x = 3");
13 int x = py::extract<int>(get_py().eval("x"));
14 BOOST_CHECK_EQUAL(x, 3);
17 BOOST_AUTO_TEST_CASE( lookup_python )
19 get_py().run("import os");
20 py::object splitext = get_py()["os.path.splitext"];
21 py::object result = splitext("/home/diane/foo.txt");
22 std::string ext = py::extract<std::string>(result[1]);
23 BOOST_CHECK_EQUAL(ext, ".txt");
25 get_py().run("from os.path import splitext");
26 py::object splitext2 = get_py()["splitext"];
27 py::object result2 = splitext("/home/diane/bar.txt");
28 std::string ext2 = py::extract<std::string>(result2[1]);
29 BOOST_CHECK_EQUAL(ext, ext2);