3 #include <gtest/gtest.h> 
   10 #include <ros/console.h> 
   13 class ROS : 
public testing::Test
 
   50         client.
initialize(ros::names::append(
ns, 
"rgb/image"), ros::names::append(
ns, 
"depth/image"), ros::names::append(
ns, 
"rgb/camera_info"));
 
   51         ros::Time end = ros::Time::now() + ros::Duration(5);
 
   52         bool received = 
false;
 
   53         while (!received || ros::Time::now() <= end)
 
   56             ros::Duration(0.1).sleep();
 
   60                 ros::Duration(2).sleep();
 
   61                 EXPECT_FALSE(
client.
nextImage()) << 
"SetUp failed, client should not have gotten a new image after getting one image correctly";
 
   64         EXPECT_TRUE(received) << 
"SetUp failed, because client wasn't able to get one image correctly.";
 
   78     EXPECT_FALSE(ros::isShuttingDown());
 
   79     EXPECT_FALSE(client.initialized());
 
   80     EXPECT_TRUE(client.initialize(
"rgb/image", 
"depth/image", 
"rgb/camera_info"));
 
   81     EXPECT_TRUE(client.initialized());
 
   82     EXPECT_FALSE(ros::isShuttingDown());
 
   87     EXPECT_FALSE(ros::isShuttingDown());
 
   88     EXPECT_TRUE(client.initialize(
"rgb/image", 
"depth/image", 
"rgb/camera_info"));
 
   89     EXPECT_TRUE(client.initialized());
 
   91     EXPECT_FALSE(client.nextImage(image2));
 
   92     EXPECT_FALSE(ros::isShuttingDown());
 
   97     EXPECT_FALSE(ros::isShuttingDown());
 
   98     EXPECT_TRUE(client.initialize(
"rgb/image", 
"depth/image", 
"rgb/camera_info"));
 
   99     EXPECT_TRUE(client.initialized());
 
  101     EXPECT_FALSE(image2);
 
  102     EXPECT_FALSE(ros::isShuttingDown());
 
  107     EXPECT_FALSE(ros::isShuttingDown());
 
  110     ros::Duration(0.01).sleep();
 
  111     image2 = client.nextImage();
 
  115         EXPECT_EQ(image, *image2);
 
  117     EXPECT_FALSE(ros::isShuttingDown());
 
  122     EXPECT_FALSE(ros::isShuttingDown());
 
  125     ros::Duration(0.01).sleep();
 
  126     EXPECT_TRUE(client.nextImage(image2));
 
  127     EXPECT_EQ(image, image2);
 
  128     EXPECT_FALSE(ros::isShuttingDown());
 
  129     image.setTimestamp(image.getTimestamp()+10.);
 
  131     ros::Duration(0.01).sleep();
 
  132     EXPECT_TRUE(client.nextImage(image2));
 
  133     EXPECT_EQ(image, image2);
 
  134     EXPECT_FALSE(ros::isShuttingDown());
 
  139     EXPECT_FALSE(ros::isShuttingDown());
 
  142     ros::Duration(0.01).sleep();
 
  143     EXPECT_TRUE(client.nextImage(image2));
 
  144     EXPECT_EQ(image, image2);
 
  145     EXPECT_FALSE(ros::isShuttingDown());
 
  146     EXPECT_FALSE(client.nextImage(image2));
 
  147     EXPECT_FALSE(ros::isShuttingDown());
 
  152     EXPECT_FALSE(ros::isShuttingDown());
 
  156     ros::Duration(0.01).sleep();
 
  157     image2 = client.nextImage();
 
  161         EXPECT_EQ(image, *image2);
 
  163     EXPECT_FALSE(ros::isShuttingDown());
 
  164     image.setTimestamp(image.getTimestamp()+10.);
 
  167     ros::Duration(0.01).sleep();
 
  168     image2 = client.nextImage();
 
  172         EXPECT_EQ(image, *image2);
 
  174     EXPECT_FALSE(ros::isShuttingDown());
 
  179     EXPECT_FALSE(ros::isShuttingDown());
 
  183     ros::Duration(0.01).sleep();
 
  184     image2 = client.nextImage();
 
  188         EXPECT_EQ(image, *image2);
 
  190     EXPECT_FALSE(ros::isShuttingDown());
 
  192     image2 = client.nextImage();
 
  193     EXPECT_FALSE(image2);
 
  194     EXPECT_FALSE(ros::isShuttingDown());
 
  199     EXPECT_FALSE(ros::isShuttingDown());
 
  202     ros::Duration(0.01).sleep();
 
  203     EXPECT_TRUE(client.nextImage(image2));
 
  204     EXPECT_EQ(image, image2);
 
  205     EXPECT_FALSE(ros::isShuttingDown());
 
  209 int main(
int argc, 
char **argv)
 
  211     ros::init(argc, argv, 
"ros_connection");
 
  212     testing::InitGoogleTest(&argc, argv);
 
  213     return RUN_ALL_TESTS();