From f77226ebe544fef03ed1db8bf88a7a3446432640 Mon Sep 17 00:00:00 2001 From: florian <f.spreckelsen@inidscale.com> Date: Thu, 12 Aug 2021 15:16:32 +0200 Subject: [PATCH] FIX: Unit tests --- src/ccaosdb.cpp | 6 +++--- test/test_transaction.cpp | 20 ++++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/ccaosdb.cpp b/src/ccaosdb.cpp index 7e8ec9c..24a21c1 100644 --- a/src/ccaosdb.cpp +++ b/src/ccaosdb.cpp @@ -512,8 +512,8 @@ ERROR_RETURN_CODE(GENERIC_ERROR, auto *wrapped_result_set = static_cast<caosdb::transaction::MultiResultSet *>( result_set->wrapped_result_set); - auto requested_entity = wrapped_result_set->At(index); - entity->wrapped_entity = (&requested_entity); + entity->wrapped_entity = + wrapped_result_set->mutable_at(index); return 0; }) @@ -524,7 +524,7 @@ ERROR_RETURN_CODE(GENERIC_ERROR, auto *wrapped_result_set = static_cast<caosdb::transaction::MultiResultSet *>( result_set->wrapped_result_set); - int size(wrapped_result_set->Size()); + int size(wrapped_result_set->size()); *out = size; return 0; }) diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index 3abe7c1..d50ada3 100644 --- a/test/test_transaction.cpp +++ b/test/test_transaction.cpp @@ -30,6 +30,7 @@ #include "gtest/gtest-test-part.h" // for SuiteApiResolver, TestPa... #include "gtest/gtest_pred_impl.h" // for Test, TestInfo, TEST #include <memory> // for allocator, unique_ptr +#include <stdexcept> // for out_of_range #include <string> // for string, basic_string #include <utility> // for move #include <vector> // for vector @@ -37,27 +38,30 @@ namespace caosdb::transaction { using caosdb::configuration::InsecureConnectionConfiguration; using caosdb::connection::Connection; -using caosdb::exceptions::ConnectionError; using caosdb::entity::Entity; +using caosdb::exceptions::ConnectionError; using ProtoEntity = caosdb::entity::v1alpha1::Entity; using caosdb::entity::v1alpha1::RetrieveResponse; TEST(test_transaction, test_multi_result_set) { std::vector<std::unique_ptr<Entity>> entities; - for(int i = 0; i < 5; i++) { + for (int i = 0; i < 5; i++) { entities.push_back(std::make_unique<Entity>()); - entities[i].SetName("E" + std::to_string(i)); + entities[i]->SetName("E" + std::to_string(i)); } MultiResultSet result_set(std::move(entities)); EXPECT_EQ(result_set.size(), 5); - EXPECT_EQ(result_set.mutable_at(3)->GetName(), "E2"); - EXPECT_EQ(result_set.at(4)->GetName(), "E3"); - EXPECT_EQ(result_set.at(4)->GetName(), "E3"); - EXPECT_THROW(result_set.at(15), std::out_of_range); + EXPECT_EQ(result_set.mutable_at(2)->GetName(), "E2"); + EXPECT_EQ(result_set.at(3).GetName(), "E3"); + EXPECT_EQ(result_set.at(3).GetName(), "E3"); + + // discarding a [[nodiscard]] return value here (ok, we're only + // interested in the error anyway), so ignore when linting + EXPECT_THROW(result_set.at(15), std::out_of_range); // NOLINT int counter = 0; - for(const auto &entity : result_set) { + for (const auto &entity : result_set) { EXPECT_EQ(entity.GetName(), "E" + std::to_string(counter++)); } EXPECT_EQ(counter, 5); -- GitLab