From f159998220cdb521cc53abbf36585e10a2d5c039 Mon Sep 17 00:00:00 2001 From: Erik Ogenvik Date: Tue, 14 Mar 2017 22:07:06 +0100 Subject: [PATCH] Added test for btKinematicCharacterController. For now just a simple instantiation unit test. --- test/BulletDynamics/CMakeLists.txt | 24 +++++++++++++++++ .../test_btKinematicCharacterController.cpp | 27 +++++++++++++++++++ test/CMakeLists.txt | 2 +- 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 test/BulletDynamics/CMakeLists.txt create mode 100644 test/BulletDynamics/test_btKinematicCharacterController.cpp diff --git a/test/BulletDynamics/CMakeLists.txt b/test/BulletDynamics/CMakeLists.txt new file mode 100644 index 000000000..ceeb2b4f4 --- /dev/null +++ b/test/BulletDynamics/CMakeLists.txt @@ -0,0 +1,24 @@ +SUBDIRS(pendulum ) + +INCLUDE_DIRECTORIES( + "${PROJECT_SOURCE_DIR}/src" + "${PROJECT_SOURCE_DIR}/test/gtest-1.7.0/include") + +ADD_DEFINITIONS(-DUSE_GTEST) +ADD_DEFINITIONS(-D_VARIADIC_MAX=10) + +LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath gtest) + +IF (NOT WIN32) + LINK_LIBRARIES(pthread) +ENDIF() + +ADD_EXECUTABLE(Test_btKinematicCharacterController test_btKinematicCharacterController.cpp) + +ADD_TEST(Test_btKinematicCharacterController_PASS Test_btKinematicCharacterController) + +IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) + SET_TARGET_PROPERTIES(Test_btKinematicCharacterController PROPERTIES DEBUG_POSTFIX "_Debug") + SET_TARGET_PROPERTIES(Test_btKinematicCharacterController PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel") + SET_TARGET_PROPERTIES(Test_btKinematicCharacterController PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo") +ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) diff --git a/test/BulletDynamics/test_btKinematicCharacterController.cpp b/test/BulletDynamics/test_btKinematicCharacterController.cpp new file mode 100644 index 000000000..4b0a567c0 --- /dev/null +++ b/test/BulletDynamics/test_btKinematicCharacterController.cpp @@ -0,0 +1,27 @@ + + +#include +#include +#include +#include + + +GTEST_TEST(BulletDynamics, KinematicCharacterController) { + + btPairCachingGhostObject* ghostObject = new btPairCachingGhostObject(); + btBoxShape* convexShape = new btBoxShape(btVector3(1, 1, 1)); + + //For now only a simple test that it initializes correctly. + btKinematicCharacterController* tested = new btKinematicCharacterController(ghostObject, convexShape, 1); + EXPECT_TRUE(tested); + + EXPECT_FLOAT_EQ(-9.8 * 3.0, tested->getGravity().x()); + EXPECT_FLOAT_EQ(0, tested->getGravity().y()); + EXPECT_FLOAT_EQ(0, tested->getGravity().z()); +} + + +int main(int argc, char **argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} \ No newline at end of file diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 713e4937e..ff1da9bff 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -3,5 +3,5 @@ IF(BUILD_BULLET3) SUBDIRS( InverseDynamics SharedMemory ) ENDIF(BUILD_BULLET3) -SUBDIRS( gtest-1.7.0 collision RobotLogging BulletDynamics/pendulum ) +SUBDIRS( gtest-1.7.0 collision RobotLogging BulletDynamics )