4 #include "std_msgs/Int8.h" 5 #include "std_msgs/UInt16.h" 6 #include "std_msgs/Int32.h" 7 #include "std_msgs/UInt64.h" 8 #include "std_msgs/String.h" 13 #include "boost/foreach.hpp" 14 #include <gtest/gtest.h> 48 const char*
bag_filename =
"/tmp/rosbag_storage_create_and_iterate_bag.bag";
49 const char*
bag_filename2 =
"/tmp/rosbag_storage_create_and_iterate_bag2.bag";
51 TEST(rosbag_storage, iterator_copy_constructor)
58 EXPECT_EQ(42, it0->instantiate<std_msgs::Int32>()->data);
61 EXPECT_EQ(42, it1->instantiate<std_msgs::Int32>()->data);
64 EXPECT_EQ(42, it0->instantiate<std_msgs::Int32>()->data);
67 TEST(rosbag_storage, iterator_copy_assignment)
74 EXPECT_EQ(42, it0->instantiate<std_msgs::Int32>()->data);
78 EXPECT_EQ(42, it1->instantiate<std_msgs::Int32>()->data);
81 EXPECT_EQ(42, it0->instantiate<std_msgs::Int32>()->data);
84 TEST(rosbag_storage, iterate_bag)
89 std::vector<std::string> topics;
90 topics.push_back(std::string(
"chatter"));
91 topics.push_back(std::string(
"numbers"));
97 std_msgs::String::ConstPtr s = m.
instantiate<std_msgs::String>();
100 if(s->data == std::string(
"foo")) {
101 printf(
"Successfully checked string foo\n");
105 printf(
"Failed checked string foo\n");
110 std_msgs::Int32::ConstPtr i = m.
instantiate<std_msgs::Int32>();
114 printf(
"Successfully checked value 42\n");
118 printf(
"Failed checked value 42.\n");
132 std::vector<uint8_t> buffer;
136 const size_t msg_size = msg_instance.
size();
137 buffer.resize(msg_size);
139 msg_instance.
write(stream);
141 printf(
"reading: %s\n", msg_instance.
getTopic().c_str() );
146 TEST(rosbag_storage, reuse_bag)
154 int main(
int argc,
char **argv) {
159 testing::InitGoogleTest(&argc, argv);
160 return RUN_ALL_TESTS();
T make_std_msg(const typename T::_data_type &data)
void serialize_bag(rosbag::Bag &bag, const char *filename)
void create_a_different_test_bag(const std::string &filename)
void create_test_bag(const std::string &filename)
void open(std::string const &filename, uint32_t mode=bagmode::Read)
const char * bag_filename2
const char * bag_filename
int main(int argc, char **argv)
boost::shared_ptr< T > instantiate() const
TEST(rosbag_storage, iterator_copy_constructor)
std::string const & getTopic() const
void write(std::string const &topic, ros::MessageEvent< T > const &event)
void write(Stream &stream) const