diff --git a/conanfile.txt b/conanfile.txt index da194ce3e326275d10fc925a0d7b309144b497ff..76399f5c9780b0f4a66851187e037e8c80c0866a 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,5 +1,5 @@ [requires] -caosdb/0.0.16 +caosdb/0.0.17 gtest/1.11.0 [generators] diff --git a/test/test_ccaosdb.cpp b/test/test_ccaosdb.cpp index ff01b9ba95d8dcded153aa9f94260a98cf5b3c53..357149971e028ad28560cd4883d20720f5432a8c 100644 --- a/test/test_ccaosdb.cpp +++ b/test/test_ccaosdb.cpp @@ -298,7 +298,9 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { caosdb_entity_create_entity(&original_entity); caosdb_entity_entity_set_name(&original_entity, "TestName"); caosdb_entity_entity_set_role(&original_entity, "PROPERTY"); - caosdb_entity_entity_set_datatype(&original_entity, "TEXT", false, false); + caosdb_entity_datatype in_type; + caosdb_entity_create_atomic_datatype(&in_type, "TEXT"); + caosdb_entity_entity_set_datatype(&original_entity, &in_type); caosdb_transaction_transaction insert_transaction; caosdb_connection_connection_create_transaction(&connection, @@ -347,17 +349,14 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { caosdb_entity_entity_get_role(&retrieved_entity_1, &out); EXPECT_EQ(strcmp(in, out), 0); - bool is_list_in[] = {false}; // NOLINT - bool is_ref_in[] = {false}; // NOLINT - caosdb_entity_entity_get_datatype(&original_entity, &in, is_ref_in, - is_list_in); - bool is_list_out[] = {false}; // NOLINT - bool is_ref_out[] = {false}; // NOLINT - caosdb_entity_entity_get_datatype(&retrieved_entity_1, &out, is_ref_out, - is_list_out); + caosdb_entity_datatype out_type; + caosdb_entity_entity_get_datatype(&original_entity, &out_type); + bool out_is(false); + caosdb_entity_datatype_is_atomic(&out_type, &out_is); + EXPECT_TRUE(out_is); + caosdb_entity_datatype_get_datatype_name(&in_type, &in); + caosdb_entity_datatype_get_datatype_name(&out_type, &out); EXPECT_EQ(strcmp(in, out), 0); - EXPECT_EQ(*is_list_in, *is_list_out); - EXPECT_EQ(*is_ref_in, *is_ref_out); // Change name and update return_code = @@ -414,13 +413,12 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { caosdb_entity_entity_get_role(&retrieved_entity_2, &out); EXPECT_EQ(strcmp(in, out), 0); - caosdb_entity_entity_get_datatype(&original_entity, &in, is_ref_in, - is_list_in); - caosdb_entity_entity_get_datatype(&retrieved_entity_2, &out, is_ref_out, - is_list_out); + caosdb_entity_entity_get_datatype(&retrieved_entity_2, &out_type); + caosdb_entity_datatype_is_atomic(&out_type, &out_is); + EXPECT_TRUE(out_is); + caosdb_entity_datatype_get_datatype_name(&in_type, &in); + caosdb_entity_datatype_get_datatype_name(&out_type, &out); EXPECT_EQ(strcmp(in, out), 0); - EXPECT_EQ(*is_ref_in, *is_ref_out); - EXPECT_EQ(*is_list_in, *is_list_out); // Now delete caosdb_transaction_transaction delete_transaction; @@ -472,6 +470,7 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { caosdb_transaction_delete_transaction(&retrieve_transaction_1); caosdb_transaction_delete_transaction(&insert_transaction); caosdb_entity_delete_entity(&original_entity); + caosdb_entity_delete_datatype(&in_type); } TEST_F(test_ccaosdb, test_insert_with_prop_and_parent) { @@ -486,7 +485,9 @@ TEST_F(test_ccaosdb, test_insert_with_prop_and_parent) { caosdb_entity_entity_set_name(&original_prop, "TestProp"); caosdb_entity_entity_set_role(&original_prop, "PROPERTY"); - caosdb_entity_entity_set_datatype(&original_prop, "TEXT", false, false); + caosdb_entity_datatype original_type; + caosdb_entity_create_atomic_datatype(&original_type, "TEXT"); + caosdb_entity_entity_set_datatype(&original_prop, &original_type); std::cout << "Inserting a property..." << std::endl; caosdb_transaction_transaction prop_insertion; @@ -540,7 +541,9 @@ TEST_F(test_ccaosdb, test_insert_with_prop_and_parent) { caosdb_entity_property rec_prop; caosdb_entity_create_property(&rec_prop); caosdb_entity_property_set_id(&rec_prop, prop_id); - caosdb_entity_property_set_string_value(&rec_prop, "Bla"); + caosdb_entity_value in_value; + caosdb_entity_create_string_value(&in_value, "Bla"); + caosdb_entity_property_set_value(&rec_prop, &in_value); caosdb_entity_entity_append_property(&original_rec, &rec_prop); caosdb_transaction_transaction rec_insertion; @@ -593,8 +596,10 @@ TEST_F(test_ccaosdb, test_insert_with_prop_and_parent) { caosdb_entity_entity_get_name(&original_prop, &in); caosdb_entity_property_get_name(&retrieved_property, &out); EXPECT_EQ(strcmp(in, out), 0); - caosdb_entity_property_get_string_value(&rec_prop, &in); - caosdb_entity_property_get_string_value(&retrieved_property, &out); + caosdb_entity_value out_value; + caosdb_entity_property_get_value(&retrieved_property, &out_value); + caosdb_entity_value_get_as_string(&in_value, &in); + caosdb_entity_value_get_as_string(&out_value, &out); EXPECT_EQ(strcmp(in, out), 0); caosdb_transaction_delete_transaction(&retrieve_transaction); @@ -607,6 +612,8 @@ TEST_F(test_ccaosdb, test_insert_with_prop_and_parent) { caosdb_entity_delete_entity(&original_rt); caosdb_transaction_delete_transaction(&prop_insertion); caosdb_entity_delete_entity(&original_prop); + caosdb_entity_delete_datatype(&original_type); + caosdb_entity_delete_value(&in_value); } TEST_F(test_ccaosdb, test_up_n_download_file) { diff --git a/test/test_list_properties.cpp b/test/test_list_properties.cpp index 32f02e2fad8f46199d4240e86e9e1d31c86e936d..e4ce774ccbe529d5abe3a9da5d539ff7166ac1e8 100644 --- a/test/test_list_properties.cpp +++ b/test/test_list_properties.cpp @@ -105,13 +105,13 @@ TEST_F(test_list_properties, insert_list_of_text) { const auto &value = same_entity.GetProperties().at(0).GetValue(); EXPECT_TRUE(data_type.IsList()); - EXPECT_TRUE(data_type.AsList().IsListOfAtomic()); - EXPECT_EQ(data_type.AsList().GetAtomicDataType(), AtomicDataType::TEXT); + EXPECT_TRUE(data_type.GetAsList().IsListOfAtomic()); + EXPECT_EQ(data_type.GetAsList().GetAtomicDataType(), AtomicDataType::TEXT); - EXPECT_TRUE(value.IsList()); - EXPECT_EQ(value.AsList().size(), 3); - EXPECT_TRUE(value.AsList().at(1).IsString()); - EXPECT_EQ(value.AsList().at(1).AsString(), "item5"); + EXPECT_TRUE(value.IsVector()); + EXPECT_EQ(value.GetAsVector().size(), 3); + EXPECT_TRUE(value.GetAsVector().at(1).IsString()); + EXPECT_EQ(value.GetAsVector().at(1).GetAsString(), "item5"); } TEST_F(test_list_properties, insert_list_of_int) { @@ -161,13 +161,13 @@ TEST_F(test_list_properties, insert_list_of_int) { const auto &value = same_entity.GetProperties().at(0).GetValue(); EXPECT_TRUE(data_type.IsList()); - EXPECT_TRUE(data_type.AsList().IsListOfAtomic()); - EXPECT_EQ(data_type.AsList().GetAtomicDataType(), AtomicDataType::INTEGER); + EXPECT_TRUE(data_type.GetAsList().IsListOfAtomic()); + EXPECT_EQ(data_type.GetAsList().GetAtomicDataType(), AtomicDataType::INTEGER); - EXPECT_TRUE(value.IsList()); - EXPECT_EQ(value.AsList().size(), 3); - EXPECT_TRUE(value.AsList().at(1).IsInteger()); - EXPECT_EQ(value.AsList().at(1).AsInteger(), 5); + EXPECT_TRUE(value.IsVector()); + EXPECT_EQ(value.GetAsVector().size(), 3); + EXPECT_TRUE(value.GetAsVector().at(1).IsInt64()); + EXPECT_EQ(value.GetAsVector().at(1).GetAsInt64(), 5); } TEST_F(test_list_properties, insert_list_of_bool) { @@ -217,13 +217,13 @@ TEST_F(test_list_properties, insert_list_of_bool) { const auto &value = same_entity.GetProperties().at(0).GetValue(); EXPECT_TRUE(data_type.IsList()); - EXPECT_TRUE(data_type.AsList().IsListOfAtomic()); - EXPECT_EQ(data_type.AsList().GetAtomicDataType(), AtomicDataType::BOOLEAN); + EXPECT_TRUE(data_type.GetAsList().IsListOfAtomic()); + EXPECT_EQ(data_type.GetAsList().GetAtomicDataType(), AtomicDataType::BOOLEAN); - EXPECT_TRUE(value.IsList()); - EXPECT_EQ(value.AsList().size(), 3); - EXPECT_TRUE(value.AsList().at(1).IsBool()); - EXPECT_FALSE(value.AsList().at(1).AsBool()); + EXPECT_TRUE(value.IsVector()); + EXPECT_EQ(value.GetAsVector().size(), 3); + EXPECT_TRUE(value.GetAsVector().at(1).IsBool()); + EXPECT_FALSE(value.GetAsVector().at(1).GetAsBool()); } } // namespace caosdb::entity diff --git a/test/test_properties.cpp b/test/test_properties.cpp index 6137494905b5fe0e5c04aa256a45648f355a8b91..f810949f62cbe0d1b5644b5cbb12ee5b67241945 100644 --- a/test/test_properties.cpp +++ b/test/test_properties.cpp @@ -94,11 +94,11 @@ TEST_F(test_properties, retrieve_unit) { EXPECT_FALSE(retrieval->GetStatus().IsError()); const auto &same_property = retrieval->GetResultSet().at(0); - EXPECT_EQ(same_property.GetDataType().AsAtomic(), AtomicDataType::DOUBLE); + EXPECT_EQ(same_property.GetDataType().GetAsAtomic(), AtomicDataType::DOUBLE); EXPECT_EQ(same_property.GetUnit(), "V"); const auto &same_record_type = retrieval->GetResultSet().at(1); - EXPECT_EQ(same_record_type.GetProperties().at(0).GetDataType().AsAtomic(), + EXPECT_EQ(same_record_type.GetProperties().at(0).GetDataType().GetAsAtomic(), AtomicDataType::DOUBLE); EXPECT_EQ(same_record_type.GetProperties().at(0).GetUnit(), "V"); } diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index 13ffb647dbbc8eb152b1683309032459611927cb..70624decb063804732a1709476d9bdbae2390c8b 100644 --- a/test/test_transaction.cpp +++ b/test/test_transaction.cpp @@ -132,22 +132,22 @@ protected: template <> auto test_transaction::getValueAs<double>(const Value &value) -> double { - return value.AsDouble(); + return value.GetAsDouble(); } template <> auto test_transaction::getValueAs<int64_t>(const Value &value) -> int64_t { - return value.AsInteger(); + return value.GetAsInt64(); } template <> auto test_transaction::getValueAs<int32_t>(const Value &value) -> int32_t { - return static_cast<int32_t>(value.AsInteger()); + return static_cast<int32_t>(value.GetAsInt64()); } template <> auto test_transaction::getValueAs<bool>(const Value &value) -> bool { - return value.AsBool(); + return value.GetAsBool(); } /*