Skip to content

Commit 8be6465

Browse files
committed
add tests
1 parent ae21c2c commit 8be6465

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

src/viam/sdk/tests/mocks/mock_arm.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <viam/sdk/tests/mocks/mock_arm.hpp>
22

3+
#include "mock_arm.hpp"
34
#include <viam/sdk/tests/test_utils.hpp>
45

56
namespace viam {
@@ -31,6 +32,13 @@ void MockArm::move_to_joint_positions(const std::vector<double>& positions,
3132
joint_positions = positions;
3233
}
3334

35+
void MockArm::move_through_joint_positions(const std::vector<std::vector<double>>& positions,
36+
const Arm::MoveOptions& opts,
37+
const sdk::ProtoStruct&) {
38+
move_thru_positions = positions;
39+
move_opts = opts;
40+
}
41+
3442
void MockArm::stop(const sdk::ProtoStruct&) {
3543
peek_stop_called = true;
3644
}

src/viam/sdk/tests/mocks/mock_arm.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ class MockArm : public sdk::Arm {
1919
std::vector<double> get_joint_positions(const sdk::ProtoStruct&) override;
2020
void move_to_joint_positions(const std::vector<double>& positions,
2121
const sdk::ProtoStruct&) override;
22+
23+
void move_through_joint_positions(const std::vector<std::vector<double>>& positions,
24+
const Arm::MoveOptions& opts,
25+
const sdk::ProtoStruct&) override;
26+
2227
void stop(const sdk::ProtoStruct&) override;
2328
bool is_moving() override;
2429
sdk::ProtoStruct do_command(const sdk::ProtoStruct& command) override;
@@ -27,6 +32,8 @@ class MockArm : public sdk::Arm {
2732

2833
sdk::pose current_location;
2934
std::vector<double> joint_positions;
35+
std::vector<std::vector<double>> move_thru_positions;
36+
sdk::Arm::MoveOptions move_opts;
3037
bool peek_stop_called;
3138
sdk::ProtoStruct peek_command;
3239
};

src/viam/sdk/tests/test_arm.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
#define BOOST_TEST_MODULE test module test_arm
2+
#include <viam/sdk/components/arm.hpp>
23

4+
#include <boost/optional/optional_io.hpp>
35
#include <boost/qvm/all.hpp>
46
#include <boost/test/included/unit_test.hpp>
57

6-
#include <viam/sdk/components/arm.hpp>
78
#include <viam/sdk/tests/mocks/mock_arm.hpp>
89
#include <viam/sdk/tests/test_utils.hpp>
910

1011
BOOST_TEST_DONT_PRINT_LOG_VALUE(std::vector<viam::sdk::GeometryConfig>)
1112
BOOST_TEST_DONT_PRINT_LOG_VALUE(std::vector<double>)
13+
BOOST_TEST_DONT_PRINT_LOG_VALUE(std::vector<std::vector<double>>)
1214
BOOST_TEST_DONT_PRINT_LOG_VALUE(viam::sdk::Arm::KinematicsData)
1315

1416
namespace viam {
@@ -49,6 +51,17 @@ BOOST_AUTO_TEST_CASE(joint_positions) {
4951
});
5052
}
5153

54+
BOOST_AUTO_TEST_CASE(thru_joint_positions) {
55+
std::shared_ptr<MockArm> mock = MockArm::get_mock_arm();
56+
client_to_mock_pipeline<Arm>(mock, [&](Arm& client) {
57+
std::vector<std::vector<double>> positions{{1.0, 2.0}, {3.0}};
58+
client.move_through_joint_positions(positions, {1.0, 2.0}, {});
59+
BOOST_CHECK_EQUAL(mock->move_thru_positions, positions);
60+
BOOST_CHECK_EQUAL(mock->move_opts.max_vel_degs_per_sec, 1.0);
61+
BOOST_CHECK_EQUAL(mock->move_opts.max_acc_degs_per_sec2, 2.0);
62+
});
63+
}
64+
5265
BOOST_AUTO_TEST_CASE(test_stop) {
5366
std::shared_ptr<MockArm> mock = MockArm::get_mock_arm();
5467
client_to_mock_pipeline<Arm>(mock, [&](Arm& client) {

0 commit comments

Comments
 (0)