18 #include "gtest/gtest.h" 20 #include <boost/shared_ptr.hpp> 45 bool shouldPtuTupleBeDeleted(
const RobotStatePtrVec::iterator &posesToExploreIter,
const PtuTuplePtrVec::iterator &ptuTuplePtrIter) {
46 bool shouldDelete = ptuTuplePtrIter->get()->getDeactivatedObjectNormalsCount() == 1;
74 bool shouldPtuTupleBeDeleted(
const RobotStatePtrVec::iterator &posesToExploreIter,
const PtuTuplePtrVec::iterator &ptuTuplePtrIter) {
75 bool shouldDelete = ptuTuplePtrIter->get()->getDeactivatedObjectNormalsCount() >= 1;
103 bool shouldPtuTupleBeDeleted(
const RobotStatePtrVec::iterator &posesToExploreIter,
const PtuTuplePtrVec::iterator &ptuTuplePtrIter) {
136 TEST(DoFilterIterationTest, NoFilter) {
141 ASSERT_EQ(3, robotStates->size());
142 for (
int robotCount = 0; robotCount < robotStates->size(); ++robotCount) {
144 if (robotCount == 0) {
145 ASSERT_EQ(2, robotStatePtr->getPtuListSize());
146 }
else if (robotCount == 1) {
147 ASSERT_EQ(4, robotStatePtr->getPtuListSize());
149 ASSERT_EQ(3, robotStatePtr->getPtuListSize());
151 for (
int ptuCount = 0; ptuCount < robotStatePtr->getPtuListSize(); ++ptuCount) {
152 PtuTuplePtr &ptuTuplePtr = (*robotStatePtr->getPtuTuplePtrVecPtr())[ptuCount];
153 if (robotCount == 0) {
154 EXPECT_EQ(1, ptuTuplePtr->getDeactivatedObjectNormalsCount());
155 }
else if (robotCount == 1) {
156 if (ptuCount == 0 || ptuCount == 2) {
157 EXPECT_EQ(0, ptuTuplePtr->getDeactivatedObjectNormalsCount());
158 }
else if (ptuCount == 1) {
159 EXPECT_EQ(2, ptuTuplePtr->getDeactivatedObjectNormalsCount());
161 EXPECT_EQ(1, ptuTuplePtr->getDeactivatedObjectNormalsCount());
164 if (ptuCount == 0 || ptuCount == 2) {
165 EXPECT_EQ(1, ptuTuplePtr->getDeactivatedObjectNormalsCount());
167 EXPECT_EQ(2, ptuTuplePtr->getDeactivatedObjectNormalsCount());
174 TEST(DoFilterIterationTest, OneFilter) {
182 ASSERT_EQ(2, robotStates->size());
183 EXPECT_EQ(5, filter1->deleteCount);
185 for (
int robotCount = 0; robotCount < robotStates->size(); ++robotCount) {
187 if (robotCount == 0) {
188 ASSERT_EQ(3, robotStatePtr->getPtuListSize());
190 ASSERT_EQ(1, robotStatePtr->getPtuListSize());
192 for (
int ptuCount = 0; ptuCount < robotStatePtr->getPtuListSize(); ++ptuCount) {
193 PtuTuplePtr &ptuTuplePtr = (*robotStatePtr->getPtuTuplePtrVecPtr())[ptuCount];
194 if (robotCount == 0) {
195 if (ptuCount == 0 || ptuCount == 2) {
196 EXPECT_EQ(0, ptuTuplePtr->getDeactivatedObjectNormalsCount());
198 EXPECT_EQ(2, ptuTuplePtr->getDeactivatedObjectNormalsCount());
201 EXPECT_EQ(2, ptuTuplePtr->getDeactivatedObjectNormalsCount());
207 TEST(DoFilterIterationTest, MultipleFilters) {
217 ASSERT_EQ(1, robotStates->size());
218 EXPECT_EQ(5, filter1->deleteCount);
219 EXPECT_EQ(2, filter2->deleteCount);
222 ASSERT_EQ(2, robotStatePtr->getPtuListSize());
223 for (
int ptuCount = 0; ptuCount < robotStatePtr->getPtuListSize(); ++ptuCount) {
224 PtuTuplePtr &ptuTuplePtr = (*robotStatePtr->getPtuTuplePtrVecPtr())[ptuCount];
225 EXPECT_EQ(0, ptuTuplePtr->getDeactivatedObjectNormalsCount());
234 ASSERT_EQ(1, robotStates->size());
235 EXPECT_EQ(5, filter1->deleteCount);
236 EXPECT_EQ(2, filter2->deleteCount);
237 EXPECT_EQ(0, filter3->deleteCount);
239 robotStatePtr = (*robotStates)[0];
240 ASSERT_EQ(2, robotStatePtr->getPtuListSize());
241 for (
int ptuCount = 0; ptuCount < robotStatePtr->getPtuListSize(); ++ptuCount) {
242 PtuTuplePtr &ptuTuplePtr = (*robotStatePtr->getPtuTuplePtrVecPtr())[ptuCount];
243 EXPECT_EQ(0, ptuTuplePtr->getDeactivatedObjectNormalsCount());
247 TEST(DoFilterIterationTest, NoPoses) {
257 ASSERT_EQ(0, robotStates->size());
258 EXPECT_EQ(0, filter1->deleteCount);
259 EXPECT_EQ(0, filter2->deleteCount);
bool shouldPtuTupleBeDeleted(const RobotStatePtrVec::iterator &posesToExploreIter, const PtuTuplePtrVec::iterator &ptuTuplePtrIter)
MyFilter1(const RobotStatePtrVecPtr &posesToExplorePtr)
MyFilter3(const RobotStatePtrVecPtr &posesToExplorePtr)
MyFilter2(const RobotStatePtrVecPtr &posesToExplorePtr)
boost::shared_ptr< RobotStatePtrVec > RobotStatePtrVecPtr
void addFilter(const FilterBasicPtr &filter)
boost::shared_ptr< MyFilter2 > MyFilter2Ptr
TEST(DoFilterIterationTest, NoFilter)
boost::shared_ptr< PtuTuple > PtuTuplePtr
std::vector< PtuTuplePtr > PtuTuplePtrVec
bool wasIterationSuccessful()
bool wasIterationSuccessful()
RobotStatePtrVecPtr getRobotStates()
bool shouldPtuTupleBeDeleted(const RobotStatePtrVec::iterator &posesToExploreIter, const PtuTuplePtrVec::iterator &ptuTuplePtrIter)
std::vector< RobotStatePtr > RobotStatePtrVec
boost::shared_ptr< MyFilter3 > MyFilter3Ptr
boost::shared_ptr< PtuTuplePtrVec > PtuTuplePtrVecPtr
bool shouldPtuTupleBeDeleted(const RobotStatePtrVec::iterator &posesToExploreIter, const PtuTuplePtrVec::iterator &ptuTuplePtrIter)
boost::shared_ptr< RobotState > RobotStatePtr
bool wasIterationSuccessful()
boost::shared_ptr< MyFilter1 > MyFilter1Ptr