Skip to content
Snippets Groups Projects
Commit b6e9d861 authored by florian's avatar florian
Browse files

DRAFT: Add is_... functions for values

parent 55d304ad
No related branches found
No related tags found
1 merge request!24API: Introduce value and datatype structs to Extern C
......@@ -419,6 +419,12 @@ int caosdb_entity_message_get_code(caosdb_entity_message *message, int *out);
int caosdb_entity_message_get_description(caosdb_entity_message *message, char **out);
// TODO(fspreck) getters for value and datatypes
int caosdb_entity_value_is_null(caosdb_entity_value *value, bool *out);
int caosdb_entity_value_is_string(caosdb_entity_value *value, bool *out);
int caosdb_entity_value_is_double(caosdb_entity_value *value, bool *out);
int caosdb_entity_value_is_integer(caosdb_entity_value *value, bool *out);
int caosdb_entity_value_is_bool(caosdb_entity_value *value, bool *out);
int caosdb_entity_value_is_list(caosdb_entity_value *value, bool *out);
// CONSTRUCTORS AND DESTRUCTORS
int caosdb_entity_create_entity(caosdb_entity_entity *out);
......@@ -478,7 +484,7 @@ int caosdb_entity_property_set_value(caosdb_entity_property *property, caosdb_en
int caosdb_entity_parent_set_id(caosdb_entity_parent *parent, const char *id);
int caosdb_entity_parent_set_name(caosdb_entity_parent *parent, const char *name);
// TODO(fspreck) setters for value and datatype
// TODO(fspreck) setters for datatype
#ifdef __cplusplus
}
......
......@@ -145,6 +145,26 @@ TEST_F(test_ccaosdb, test_value) {
return_code = caosdb_entity_create_double_value(&double_value, 2.7);
EXPECT_EQ(return_code, 0);
caosdb_entity_value string_list_value;
const char *string_values[] = {"a", "b", "c"}; // NOLINT
return_code = caosdb_entity_create_string_list_value(&string_list_value, string_values, 3);
EXPECT_EQ(return_code, 0);
caosdb_entity_value int_list_value;
const int64_t int_values[] = {1, 2, 3}; // NOLINT
return_code = caosdb_entity_create_int_list_value(&int_list_value, int_values, 3);
EXPECT_EQ(return_code, 0);
caosdb_entity_value double_list_value;
const double double_values[] = {1.1, 2.2, 3.3}; // NOLINT
return_code = caosdb_entity_create_double_list_value(&double_list_value, double_values, 3);
EXPECT_EQ(return_code, 0);
caosdb_entity_value bool_list_value;
const bool bool_values[] = {true, false, false}; // NOLINT
return_code = caosdb_entity_create_bool_list_value(&bool_list_value, bool_values, 3);
EXPECT_EQ(return_code, 0);
// TODO(fspreck) Test is... and as... functions
return_code = caosdb_entity_delete_value(&string_value);
......@@ -155,6 +175,14 @@ TEST_F(test_ccaosdb, test_value) {
EXPECT_EQ(return_code, 0);
return_code = caosdb_entity_delete_value(&double_value);
EXPECT_EQ(return_code, 0);
return_code = caosdb_entity_delete_value(&string_list_value);
EXPECT_EQ(return_code, 0);
return_code = caosdb_entity_delete_value(&int_list_value);
EXPECT_EQ(return_code, 0);
return_code = caosdb_entity_delete_value(&double_list_value);
EXPECT_EQ(return_code, 0);
return_code = caosdb_entity_delete_value(&bool_list_value);
EXPECT_EQ(return_code, 0);
}
TEST_F(test_ccaosdb, test_entity) {
......
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