moveit2
The MoveIt Motion Planning Framework for ROS 2.
Classes | Functions
integrationtest_sequence_service_capability.cpp File Reference
#include <functional>
#include <gtest/gtest.h>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <moveit/move_group_interface/move_group_interface.h>
#include <moveit/robot_model/robot_model.h>
#include <moveit/robot_model_loader/robot_model_loader.h>
#include <moveit/robot_state/conversions.h>
#include <moveit_msgs/Constraints.h>
#include <moveit_msgs/GetMotionPlan.h>
#include <moveit_msgs/JointConstraint.h>
#include <moveit_msgs/MotionPlanResponse.h>
#include <ros/ros.h>
#include <pilz_industrial_motion_planner_testutils/sequence.h>
#include <pilz_industrial_motion_planner_testutils/xml_testdata_loader.h>
#include <moveit_msgs/GetMotionSequence.h>
#include <moveit_msgs/MotionSequenceRequest.h>
#include <pilz_industrial_motion_planner/capability_names.h>
Include dependency graph for integrationtest_sequence_service_capability.cpp:

Go to the source code of this file.

Classes

class  IntegrationTestSequenceService
 

Functions

const std::string TEST_DATA_FILE_NAME ("testdata_file_name")
 
 TEST_F (IntegrationTestSequenceService, TestSendingOfEmptySequence)
 Test behavior of service when empty sequence is sent. More...
 
 TEST_F (IntegrationTestSequenceService, TestDifferingGroupNames)
 Tests that invalid (differing) group names are detected. More...
 
 TEST_F (IntegrationTestSequenceService, TestNegativeBlendRadius)
 Tests that negative blend radii are detected. More...
 
 TEST_F (IntegrationTestSequenceService, TestOverlappingBlendRadii)
 Tests that overlapping blend radii are detected. More...
 
 TEST_F (IntegrationTestSequenceService, TestTooLargeBlendRadii)
 Tests that too large blend radii are detected. More...
 
 TEST_F (IntegrationTestSequenceService, TestSecondTrajInvalidStartState)
 Tests behavior of service when sequence with invalid second start state is sent. More...
 
 TEST_F (IntegrationTestSequenceService, TestFirstGoalNotReachable)
 Tests behavior of service when sequence with invalid first goal is sent. More...
 
 TEST_F (IntegrationTestSequenceService, TestInvalidLinkName)
 Tests that incorrect link_names are detected. More...
 
 TEST_F (IntegrationTestSequenceService, TestLargeRequest)
 Tests the execution of a sequence with more than two commands. More...
 
 TEST_F (IntegrationTestSequenceService, TestComplexSequenceWithoutBlending)
 Tests the execution of a sequence command (without blending) consisting of most of the possible command type combination. More...
 
 TEST_F (IntegrationTestSequenceService, TestComplexSequenceWithBlending)
 Tests the execution of a sequence command (with blending) consisting of most of the possible command type combination. More...
 
int main (int argc, char **argv)
 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

◆ TEST_DATA_FILE_NAME()

const std::string TEST_DATA_FILE_NAME ( "testdata_file_name"  )
Here is the caller graph for this function:

◆ TEST_F() [1/11]

TEST_F ( IntegrationTestSequenceService  ,
TestComplexSequenceWithBlending   
)

Tests the execution of a sequence command (with blending) consisting of most of the possible command type combination.

Test Sequence:

  1. Create sequence goal and send it via ActionClient.
  2. Wait for successful completion of command.

Expected Results:

  1. -
  2. ActionClient reports successful completion of command.

Definition at line 409 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [2/11]

TEST_F ( IntegrationTestSequenceService  ,
TestComplexSequenceWithoutBlending   
)

Tests the execution of a sequence command (without blending) consisting of most of the possible command type combination.

Test Sequence:

  1. Create sequence goal and send it via ActionClient.
  2. Wait for successful completion of command.

Expected Results:

  1. -
  2. ActionClient reports successful completion of command.

Definition at line 379 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [3/11]

TEST_F ( IntegrationTestSequenceService  ,
TestDifferingGroupNames   
)

Tests that invalid (differing) group names are detected.

Test Sequence:

  1. Generate request, first request has invalid group_name + Call sequence service.
  2. Invalidate first request (change group_name) and send goal for planning and execution.

Expected Results:

  1. MotionPlanResponse is received.
  2. Command fails, result trajectory is empty.

Definition at line 137 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [4/11]

TEST_F ( IntegrationTestSequenceService  ,
TestFirstGoalNotReachable   
)

Tests behavior of service when sequence with invalid first goal is sent.

Test Sequence:

  1. Generate request with first goal out of workspace + Call sequence service.
  2. Evaluate the result

Expected Results:

  1. MotionPlanResponse is received.
  2. Command fails, result trajectory is empty.

Definition at line 278 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [5/11]

TEST_F ( IntegrationTestSequenceService  ,
TestInvalidLinkName   
)

Tests that incorrect link_names are detected.

Test Sequence:

  1. Create sequence and send it.
  2. Wait for successful completion of command.

Expected Results:

  1. MotionPlanResponse is received.
  2. Command fails, result trajectory is empty.

Definition at line 305 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [6/11]

TEST_F ( IntegrationTestSequenceService  ,
TestLargeRequest   
)

Tests the execution of a sequence with more than two commands.

Test Sequence:

  1. Call service with several requests.
  2. Evaluate the result.

Expected Results:

  1. MotionPlanResponse is received.
  2. Command succeeds, result trajectory is not empty.

Definition at line 335 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [7/11]

TEST_F ( IntegrationTestSequenceService  ,
TestNegativeBlendRadius   
)

Tests that negative blend radii are detected.

Test Sequence:

  1. Generate request with negative blend_radius + Call sequence service.
  2. Evaluate the result.

Expected Results:

  1. MotionPlanResponse is received.
  2. Command fails, result trajectory is empty.

Definition at line 164 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [8/11]

TEST_F ( IntegrationTestSequenceService  ,
TestOverlappingBlendRadii   
)

Tests that overlapping blend radii are detected.

Test Sequence:

  1. Generate request with overlapping blend radii + Call sequence service.
  2. Evaluate the result.

Expected Results:

  1. MotionPlanResponse is received.
  2. Command fails, result trajectory is empty.

Definition at line 190 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [9/11]

TEST_F ( IntegrationTestSequenceService  ,
TestSecondTrajInvalidStartState   
)

Tests behavior of service when sequence with invalid second start state is sent.

Test Sequence:

  1. Generate request (second goal has invalid start state) + Call sequence service.
  2. Evaluate the result

Expected Results:

  1. MotionPlanResponse is received.
  2. Command fails, result trajectory is empty.

Definition at line 245 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function:

◆ TEST_F() [10/11]

TEST_F ( IntegrationTestSequenceService  ,
TestSendingOfEmptySequence   
)

Test behavior of service when empty sequence is sent.

Test Sequence:

  1. Generate empty request and call sequence service.
  2. Evaluate the result.

Expected Results:

  1. MotionPlanResponse is received.
  2. Command is successful, result trajectory is empty.

Definition at line 111 of file integrationtest_sequence_service_capability.cpp.

◆ TEST_F() [11/11]

TEST_F ( IntegrationTestSequenceService  ,
TestTooLargeBlendRadii   
)

Tests that too large blend radii are detected.

Test Sequence:

  1. Generate request with too large blend radii + Call sequence service.
  2. Evaluate the result.

Expected Results:

  1. MotionPlanResponse is received.
  2. Command fails, result trajectory is empty.

Definition at line 216 of file integrationtest_sequence_service_capability.cpp.

Here is the call graph for this function: