diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 0000000000000000000000000000000000000000..037e0e10a46a798b720bd8f141fd2f5162542c0b --- /dev/null +++ b/.bazelrc @@ -0,0 +1 @@ +build --cxxopt='-std=c++17' diff --git a/WORKSPACE b/WORKSPACE index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..faf98706cca77a7b11bfca857412073e4f513684 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -0,0 +1,11 @@ +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() diff --git a/bazel/BUILD b/bazel/BUILD new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/bazel/deps.bzl b/bazel/deps.bzl new file mode 100644 index 0000000000000000000000000000000000000000..716058dbad068e124ef8e741701610d196e65b9e --- /dev/null +++ b/bazel/deps.bzl @@ -0,0 +1,17 @@ +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", + ) diff --git a/bazel/units.BUILD b/bazel/units.BUILD new file mode 100644 index 0000000000000000000000000000000000000000..fafe847755e24e3fb2c2cd5830577964d8533ade --- /dev/null +++ b/bazel/units.BUILD @@ -0,0 +1,8 @@ +cc_library( + name = "units_nhh", + hdrs = ["include/units.h"], + includes = [ + "include/", + ], + visibility = ["//visibility:public"], +) diff --git a/test/MantleAPI/Test/test_utils.h b/test/MantleAPI/Test/test_utils.h old mode 100755 new mode 100644 index 75b0d4cdda269c63062badb5d2ed035ca15b0397..1347bb106861d91d3994a97110cdf3dcc1fc88b6 --- a/test/MantleAPI/Test/test_utils.h +++ b/test/MantleAPI/Test/test_utils.h @@ -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 diff --git a/test/interface_test.cpp b/test/interface_test.cpp index 97f177879d69aca4f25c29e1e79bcbdf9eb52acd..0b2a8911e2066be2964da1d81432f34f7dc13591 100644 --- a/test/interface_test.cpp +++ b/test/interface_test.cpp @@ -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);