moveit_state_adapter_test.cpp
Go to the documentation of this file.
00001 /*
00002  * Software License Agreement (Apache License)
00003  *
00004  * Copyright (c) 2014, Southwest Research Institute
00005  *
00006  * Licensed under the Apache License, Version 2.0 (the "License");
00007  * you may not use this file except in compliance with the License.
00008  * You may obtain a copy of the License at
00009  *
00010  * http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #include "descartes_moveit/moveit_state_adapter.h"
00020 #include <descartes_trajectory_test/robot_model_test.hpp>
00021 #include "moveit/robot_model_loader/robot_model_loader.h"
00022 #include <gtest/gtest.h>
00023 
00024 using namespace descartes_moveit;
00025 using namespace descartes_trajectory;
00026 using namespace descartes_core;
00027 
00028 using testing::Types;
00029 
00030 namespace descartes_trajectory_test
00031 {
00032 // This variable must be global in order for the test to pass.
00033 // Destructing the robot model results in a boost mutex exception:
00034 // ---
00035 // /usr/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp:26:
00036 // boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(pthread_mutex_t*):
00037 // Assertion `!pthread_mutex_lock(m)' failed.
00038 // ---
00039 
00040 robot_model_loader::RobotModelLoaderPtr robot_;
00041 
00042 template <>
00043 RobotModelPtr CreateRobotModel<descartes_moveit::MoveitStateAdapter>()
00044 {
00045 
00046   ROS_INFO_STREAM("Construction descartes robot model");
00047   descartes_core::RobotModelPtr descartes_model_;
00048   descartes_model_ = descartes_core::RobotModelPtr(new descartes_moveit::MoveitStateAdapter());
00049   EXPECT_TRUE(descartes_model_->initialize("robot_description","manipulator","base_link","tool0"));
00050   ROS_INFO_STREAM("Descartes robot model constructed");
00051 
00052   descartes_model_->setCheckCollisions(true);
00053   EXPECT_TRUE(descartes_model_->getCheckCollisions());
00054   ROS_INFO_STREAM("Descartes robot enabled collision checks");
00055 
00056   return descartes_model_;
00057 }
00058 
00059 template<class T>
00060 class MoveitRobotModelTest : public descartes_trajectory_test::RobotModelTest<T>{};
00061 
00062 INSTANTIATE_TYPED_TEST_CASE_P(MoveitRobotModelTest, RobotModelTest, MoveitStateAdapter);
00063 
00064 } //descartes_moveit_test


descartes_moveit
Author(s): Shaun Edwards
autogenerated on Wed Aug 26 2015 11:21:41