Skip to content

Commit e35bcc8

Browse files
committed
unittest/python : add test for visualizer bindings (visitor)
1 parent 0bf5caf commit e35bcc8

File tree

3 files changed

+53
-0
lines changed

3 files changed

+53
-0
lines changed

unittest/python/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,4 +137,7 @@ else()
137137
message(STATUS "Valgrind not found, memory checks are disabled")
138138
endif()
139139

140+
pinocchio_add_python_cpp_module(bindings_visualizer PIN_TARGETS pinocchio_visualizers)
141+
pinocchio_add_lib_unit_test(bindings_visualizer)
142+
140143
add_subdirectory(pybind11)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#include <pinocchio/visualizers/base-visualizer.hpp>
2+
#include <pinocchio/bindings/python/visualizers/visualizer-visitor.hpp>
3+
4+
namespace bp = boost::python;
5+
namespace pin = pinocchio;
6+
using pin::python::VisualizerPythonVisitor;
7+
using pin::visualizers::BaseVisualizer;
8+
9+
using pin::GeometryModel;
10+
using pin::Model;
11+
12+
struct DummyVisualizer : public BaseVisualizer
13+
{
14+
using BaseVisualizer::BaseVisualizer;
15+
void loadViewerModel() override
16+
{
17+
}
18+
void displayImpl() override
19+
{
20+
}
21+
};
22+
23+
BOOST_PYTHON_MODULE(EXT_MODULE_NAME)
24+
{
25+
bp::import("pinocchio");
26+
27+
bp::class_<DummyVisualizer>("DummyVisualizer", bp::no_init)
28+
.def(bp::init<const Model &, const GeometryModel &>())
29+
.def(VisualizerPythonVisitor<DummyVisualizer>{});
30+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import unittest
2+
3+
import pinocchio as pin
4+
from test_case import PinocchioTestCase as TestCase
5+
from test_ext_bindings_visualizer import DummyVisualizer
6+
7+
8+
class TestBindingsViz(TestCase):
9+
def setUp(self):
10+
self.model = pin.Model()
11+
self.visual = pin.GeometryModel()
12+
self.viz = DummyVisualizer(self.model, self.visual)
13+
14+
def test_getters(self):
15+
self.assertEqual(self.model, self.viz.model)
16+
self.assertEqual(self.visual, self.viz.visualModel)
17+
18+
19+
if __name__ == "__main__":
20+
unittest.main()

0 commit comments

Comments
 (0)