utils_unit.cpp
Go to the documentation of this file.
3 #include <gtest/gtest.h>
4 #include <iostream>
5 #include <fstream>
8 
10 TEST(TesseractCommonUtilsUnit, TestGetAllowedCollisions) // NOLINT
11 {
13 
14  acm.addAllowedCollision("link1", "link2", "test");
15  acm.addAllowedCollision("link4", "link3", "test");
16  acm.addAllowedCollision("link1", "link3", "test");
17  acm.addAllowedCollision("link1", "cause_duplicate", "test");
18  acm.addAllowedCollision("link10", "link11", "test");
19  acm.addAllowedCollision("dummy", "dummy", "link1");
20 
21  std::vector<std::string> link_names{ "link1", "link3", "cause_duplicate" };
22 
23  // Removing duplicates: Expect link1, link2, link3, link4, cause_duplicate
24  {
25  auto results = tesseract_common::getAllowedCollisions(link_names, acm.getAllAllowedCollisions());
26  EXPECT_TRUE(std::find(results.begin(), results.end(), "link1") != results.end());
27  EXPECT_TRUE(std::find(results.begin(), results.end(), "link2") != results.end());
28  EXPECT_TRUE(std::find(results.begin(), results.end(), "link3") != results.end());
29  EXPECT_TRUE(std::find(results.begin(), results.end(), "link4") != results.end());
30  EXPECT_TRUE(std::find(results.begin(), results.end(), "cause_duplicate") != results.end());
31  EXPECT_FALSE(std::find(results.begin(), results.end(), "link10") != results.end());
32  EXPECT_FALSE(std::find(results.begin(), results.end(), "link11") != results.end());
33  EXPECT_FALSE(std::find(results.begin(), results.end(), "dummy") != results.end());
34  EXPECT_EQ(results.size(), 5);
35  }
36  // Not removing duplicates: Expect link1, link2, link3, link4, cause_duplicate, link1
37  {
38  auto results = tesseract_common::getAllowedCollisions(link_names, acm.getAllAllowedCollisions(), false);
39  EXPECT_TRUE(std::find(results.begin(), results.end(), "link1") != results.end());
40  EXPECT_TRUE(std::find(results.begin(), results.end(), "link2") != results.end());
41  EXPECT_TRUE(std::find(results.begin(), results.end(), "link3") != results.end());
42  EXPECT_TRUE(std::find(results.begin(), results.end(), "link4") != results.end());
43  EXPECT_TRUE(std::find(results.begin(), results.end(), "cause_duplicate") != results.end());
44  EXPECT_FALSE(std::find(results.begin(), results.end(), "link10") != results.end());
45  EXPECT_FALSE(std::find(results.begin(), results.end(), "link11") != results.end());
46  EXPECT_FALSE(std::find(results.begin(), results.end(), "dummy") != results.end());
47  EXPECT_EQ(results.size(), 6);
48  }
49 }
50 
51 int main(int argc, char** argv)
52 {
53  testing::InitGoogleTest(&argc, argv);
54 
55  return RUN_ALL_TESTS();
56 }
tesseract_common::AllowedCollisionMatrix::getAllAllowedCollisions
const AllowedCollisionEntries & getAllAllowedCollisions() const
Get all of the entries in the allowed collision matrix.
Definition: allowed_collision_matrix.cpp:77
macros.h
Common Tesseract Macros.
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
main
int main(int argc, char **argv)
Definition: utils_unit.cpp:51
utils.h
Common Tesseract Utility Functions.
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
Definition: macros.h:72
tesseract_common::getAllowedCollisions
std::vector< std::string > getAllowedCollisions(const std::vector< std::string > &link_names, const AllowedCollisionEntries &acm_entries, bool remove_duplicates=true)
Gets allowed collisions for a set of link names.
Definition: utils.cpp:492
tesseract_common::AllowedCollisionMatrix
Definition: allowed_collision_matrix.h:28
tesseract_common::AllowedCollisionMatrix::addAllowedCollision
virtual void addAllowedCollision(const std::string &link_name1, const std::string &link_name2, const std::string &reason)
Disable collision between two collision objects.
Definition: allowed_collision_matrix.cpp:69
TEST
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH TESSERACT_COMMON_IGNORE_WARNINGS_POP TEST(TesseractCommonUtilsUnit, TestGetAllowedCollisions)
Testing getAllowedCollisions.
Definition: utils_unit.cpp:10


tesseract_common
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:40