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