Skip to content
Snippets Groups Projects
Commit 6cd48720 authored by Andreas Rauschert's avatar Andreas Rauschert
Browse files

Merge branch 'reintroduce_mock_method' into 'main'

Reintroduce MOCK_METHOD for Create

See merge request !134
parents 0f43e607 595e0aed
No related branches found
No related tags found
1 merge request!134Reintroduce MOCK_METHOD for Create
Pipeline #37269 passed
build --cxxopt='-std=c++17'
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("//bazel:deps.bzl", "mantle_api_deps")
http_archive(
name = "googletest",
sha256 = "81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2",
strip_prefix = "googletest-release-1.12.1",
url = "https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz",
)
mantle_api_deps()
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
ECLIPSE_GITLAB = "https://gitlab.eclipse.org/eclipse"
UNITS_TAG = "2.3.3"
def mantle_api_deps():
"""Load dependencies"""
maybe(
http_archive,
name = "units_nhh",
url = "https://github.com/nholthaus/units/archive/refs/tags/v{tag}.tar.gz".format(tag = UNITS_TAG),
sha256 = "b1f3c1dd11afa2710a179563845ce79f13ebf0c8c090d6aa68465b18bd8bd5fc",
strip_prefix = "./units-{tag}".format(tag = UNITS_TAG),
build_file = "//bazel:units.BUILD",
)
cc_library(
name = "units_nhh",
hdrs = ["include/units.h"],
includes = [
"include/",
],
visibility = ["//visibility:public"],
)
......@@ -298,13 +298,10 @@ public:
{
}
mantle_api::IVehicle& Create(const std::string& name,
const mantle_api::VehicleProperties& properties) override
{
std::ignore = name;
std::ignore = properties;
return test_vehicle_;
}
MOCK_METHOD(mantle_api::IVehicle&,
Create,
(const std::string& name, const mantle_api::VehicleProperties& properties),
(override));
mantle_api::IVehicle& Create(mantle_api::UniqueId id,
const std::string& name,
......@@ -478,26 +475,26 @@ public:
class MockTrafficSwarmService : public mantle_api::ITrafficSwarmService
{
public:
MOCK_METHOD(std::vector<ITrafficSwarmService::SpawningPosition>,
GetAvailableSpawningPoses,
(),
(const, override));
MOCK_METHOD(mantle_api::VehicleProperties,
GetVehicleProperties,
(mantle_api::VehicleClass),
(const, override));
MOCK_METHOD(void,
UpdateControllerConfig,
(std::unique_ptr<mantle_api::ExternalControllerConfig>&, units::velocity::meters_per_second_t),
(override));
MOCK_METHOD(void,
SetSwarmEntitiesCount,
(size_t),
(override));
public:
MOCK_METHOD(std::vector<ITrafficSwarmService::SpawningPosition>,
GetAvailableSpawningPoses,
(),
(const, override));
MOCK_METHOD(mantle_api::VehicleProperties,
GetVehicleProperties,
(mantle_api::VehicleClass),
(const, override));
MOCK_METHOD(void,
UpdateControllerConfig,
(std::unique_ptr<mantle_api::ExternalControllerConfig>&, units::velocity::meters_per_second_t),
(override));
MOCK_METHOD(void,
SetSwarmEntitiesCount,
(size_t),
(override));
};
class MockEnvironment : public mantle_api::IEnvironment
......
......@@ -35,6 +35,11 @@ TEST(InterfaceTest, GivenTeleportAction_When_ThenHostVehicleIsPlaced)
vehicle_properties.model = "G12";
auto& repo = env.GetEntityRepository();
mantle_api::MockVehicle mock_vehicle{};
ON_CALL(dynamic_cast<mantle_api::MockEntityRepository&>(repo), Create(testing::_, vehicle_properties))
.WillByDefault(testing::ReturnRef(mock_vehicle));
auto& host_vehicle = repo.Create("host", vehicle_properties);
const auto* const converter = env.GetConverter();
auto world_pos = converter->Convert(inert_pos);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment