builtin_types.cpp
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2009, Willow Garage, Inc.
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions are met:
00007  *
00008  *     * Redistributions of source code must retain the above copyright
00009  *       notice, this list of conditions and the following disclaimer.
00010  *     * Redistributions in binary form must reproduce the above copyright
00011  *       notice, this list of conditions and the following disclaimer in the
00012  *       documentation and/or other materials provided with the distribution.
00013  *     * Neither the name of Willow Garage, Inc. nor the names of its
00014  *       contributors may be used to endorse or promote products derived from
00015  *       this software without specific prior written permission.
00016  *
00017  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00018  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00019  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00020  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00021  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00022  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00023  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00024  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00025  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00026  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00027  * POSSIBILITY OF SUCH DAMAGE.
00028  */
00029 
00030 /* Author: Josh Faust */
00031 
00032 /*
00033  * Test serialization templates
00034  */
00035 
00036 #include <gtest/gtest.h>
00037 
00038 #include <ros/ros.h>
00039 #include <std_msgs/builtin_bool.h>
00040 #include <std_msgs/builtin_double.h>
00041 #include <std_msgs/builtin_float.h>
00042 #include <std_msgs/builtin_int16.h>
00043 #include <std_msgs/builtin_int32.h>
00044 #include <std_msgs/builtin_int64.h>
00045 #include <std_msgs/builtin_int8.h>
00046 #include <std_msgs/builtin_string.h>
00047 #include <std_msgs/builtin_uint16.h>
00048 #include <std_msgs/builtin_uint32.h>
00049 #include <std_msgs/builtin_uint64.h>
00050 #include <std_msgs/builtin_uint8.h>
00051 
00052 TEST(BuiltinTypes, advertise)
00053 {
00054   ros::NodeHandle nh;
00055   nh.advertise<bool>("test_bool", 1);
00056   nh.advertise<double>("test_double", 1);
00057   nh.advertise<float>("test_float", 1);
00058   nh.advertise<int16_t>("test_int16", 1);
00059   nh.advertise<int32_t>("test_int32", 1);
00060   nh.advertise<int64_t>("test_int64", 1);
00061   nh.advertise<int8_t>("test_int8", 1);
00062   nh.advertise<std::string>("test_string", 1);
00063   nh.advertise<uint16_t>("test_uint16", 1);
00064   nh.advertise<uint32_t>("test_uint32", 1);
00065   nh.advertise<uint64_t>("test_uint64", 1);
00066   nh.advertise<uint8_t>("test_uint8", 1);
00067 }
00068 
00069 template<typename T>
00070 void callback(const boost::shared_ptr<T const>&)
00071 {}
00072 
00073 TEST(BuiltinTypes, subscribe)
00074 {
00075   ros::NodeHandle nh;
00076   nh.subscribe("test_bool", 1, callback<bool>);
00077   nh.subscribe("test_double", 1, callback<double>);
00078   nh.subscribe("test_float", 1, callback<float>);
00079   nh.subscribe("test_int16", 1, callback<int16_t>);
00080   nh.subscribe("test_int32", 1, callback<int32_t>);
00081   nh.subscribe("test_int64", 1, callback<int64_t>);
00082   nh.subscribe("test_int8", 1, callback<int8_t>);
00083   nh.subscribe("test_string", 1, callback<std::string>);
00084   nh.subscribe("test_uint16", 1, callback<uint16_t>);
00085   nh.subscribe("test_uint32", 1, callback<uint32_t>);
00086   nh.subscribe("test_uint64", 1, callback<uint64_t>);
00087   nh.subscribe("test_uint8", 1, callback<uint8_t>);
00088 }
00089 
00090 int main(int argc, char** argv)
00091 {
00092   testing::InitGoogleTest(&argc, argv);
00093   ros::init(argc, argv, "builtin_types");
00094   ros::NodeHandle nh;
00095 
00096   return RUN_ALL_TESTS();
00097 }
00098 
00099 
00100 
00101 


test_roscpp_serialization
Author(s): Josh Faust
autogenerated on Sat Dec 28 2013 17:35:47