37 #include <gtest/gtest.h> 41 TEST(WorldDiff, TrackChanges)
56 world->addToObject(
"obj1", ball, Eigen::Affine3d::Identity());
62 EXPECT_NE(diff1.
end(), it);
66 EXPECT_EQ(diff1.
end(), it);
68 world->addToObject(
"obj2", box, Eigen::Affine3d::Identity());
74 EXPECT_NE(diff1.
end(), it);
77 world->addToObject(
"obj2", cyl, Eigen::Affine3d::Identity());
83 EXPECT_NE(diff1.
end(), it);
88 bool move_ok = world->moveShapeInObject(
"obj2", cyl, Eigen::Affine3d(Eigen::Translation3d(0, 0, 1)));
95 EXPECT_NE(diff1.
end(), it);
101 EXPECT_NE(diff2.
end(), it);
103 EXPECT_EQ(
"obj2", it->first);
111 EXPECT_EQ(diff1.
end(), it);
113 world->addToObject(
"obj3", box, Eigen::Affine3d::Identity());
118 world->addToObject(
"obj3", cyl, Eigen::Affine3d::Identity());
120 world->addToObject(
"obj3", ball, Eigen::Affine3d::Identity());
127 move_ok = world->moveShapeInObject(
"obj3", cyl, Eigen::Affine3d(Eigen::Translation3d(0, 0, 2)));
135 world->removeObject(
"obj2");
141 EXPECT_NE(diff1.
end(), it);
144 EXPECT_NE(diff2.
end(), it);
147 world->removeShapeFromObject(
"obj3", cyl);
150 EXPECT_NE(diff1.
end(), it);
153 EXPECT_NE(diff2.
end(), it);
158 world->removeShapeFromObject(
"obj3", box);
161 EXPECT_NE(diff1.
end(), it);
164 EXPECT_NE(diff2.
end(), it);
169 move_ok = world->moveShapeInObject(
"obj3", ball, Eigen::Affine3d(Eigen::Translation3d(0, 0, 3)));
173 EXPECT_NE(diff1.
end(), it);
176 EXPECT_NE(diff2.
end(), it);
181 world->removeShapeFromObject(
"obj3", ball);
184 EXPECT_NE(diff1.
end(), it);
187 EXPECT_NE(diff2.
end(), it);
204 world1->addToObject(
"objA1", ball, Eigen::Affine3d::Identity());
206 world1->addToObject(
"objA2", ball, Eigen::Affine3d::Identity());
208 world1->addToObject(
"objA3", ball, Eigen::Affine3d::Identity());
210 world2->addToObject(
"objB1", box, Eigen::Affine3d::Identity());
212 world2->addToObject(
"objB2", box, Eigen::Affine3d::Identity());
214 world2->addToObject(
"objB3", box, Eigen::Affine3d::Identity());
233 EXPECT_NE(diff1.
end(), it);
237 EXPECT_NE(diff1.
end(), it);
241 EXPECT_NE(diff1.
end(), it);
245 EXPECT_NE(diff1.
end(), it);
249 EXPECT_NE(diff1.
end(), it);
253 EXPECT_NE(diff1.
end(), it);
263 EXPECT_NE(diff1b.
end(), it);
267 EXPECT_NE(diff1b.
end(), it);
271 EXPECT_NE(diff1b.
end(), it);
275 EXPECT_NE(diff1b.
end(), it);
279 EXPECT_NE(diff1b.
end(), it);
283 EXPECT_NE(diff1b.
end(), it);
286 world1->addToObject(
"objC", box, Eigen::Affine3d::Identity());
292 world2->addToObject(
"objC", box, Eigen::Affine3d::Identity());
305 EXPECT_NE(diff2.
end(), it);
310 world1->addToObject(
"objD", box, Eigen::Affine3d::Identity());
316 world2->addToObject(
"objE", box, Eigen::Affine3d::Identity());
323 int main(
int argc,
char** argv)
325 testing::InitGoogleTest(&argc, argv);
326 return RUN_ALL_TESTS();
Maintain a diff list of changes that have happened to a World.
std::map< std::string, World::Action >::const_iterator const_iterator
Maintain a representation of the environment.
std::shared_ptr< Shape > ShapePtr
const std::map< std::string, World::Action > & getChanges() const
Return all the changes that have been recorded.
void setWorld(const WorldPtr &world)
Set which world to record. Records all objects in old world (if any) as DESTROYED and all objects in ...
void reset(const WorldPtr &world)
Set which world to record. Erases all previously recorded changes.
void clearChanges()
Clear the internally maintained vector of changes.
TEST(WorldDiff, TrackChanges)
const_iterator end() const
int main(int argc, char **argv)
#define EXPECT_TRUE(args)