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

TST: Re-activate unittests for set_datatype and set_value

parent e341dc88
No related branches found
No related tags found
1 merge request!24API: Introduce value and datatype structs to Extern C
Pipeline #13672 passed
Pipeline: caosdb-cppinttest

#13674

    ......@@ -264,8 +264,6 @@ int caosdb_connection_connection_manager_get_connection(caosdb_connection_connec
    * ENTITY STUFF AND TRANSACTIONS
    ****************************************************************************/
    // TODO(fspreck) implementations needed, and probably these declarations are
    // not sufficient yet.
    typedef struct caosdb_transaction_transaction {
    void *wrapped_transaction;
    bool _deletable = false;
    ......
    ......@@ -423,8 +423,10 @@ TEST_F(test_ccaosdb, test_entity) {
    caosdb_entity_entity_get_description(&entity, &out);
    EXPECT_EQ(strcmp(out, "The length of an object"), 0);
    caosdb_entity_datatype in_type;
    caosdb_entity_create_atomic_datatype(&in_type, "DOUBLE");
    caosdb_entity_entity_set_datatype(&entity, &in_type);
    // TODO(fspreck)
    // caosdb_entity_entity_set_datatype(&entity, "DOUBLE", false, false);
    // bool is_list[] = {false}; // NOLINT
    // bool is_ref[] = {false}; // NOLINT
    // caosdb_entity_entity_get_datatype(&entity, &out, is_ref, is_list);
    ......@@ -432,7 +434,12 @@ TEST_F(test_ccaosdb, test_entity) {
    // EXPECT_FALSE(*is_list);
    // EXPECT_FALSE(*is_ref);
    // caosdb_entity_entity_set_datatype(&entity, "Person", true, true);
    // clear to re-use
    return_code = caosdb_entity_delete_datatype(&in_type);
    EXPECT_EQ(return_code, 0);
    caosdb_entity_create_reference_list_datatype(&in_type, "Person");
    caosdb_entity_entity_set_datatype(&entity, &in_type);
    // TODO(fspreck)
    // caosdb_entity_entity_get_datatype(&entity, &out, is_ref, is_list);
    // EXPECT_EQ(strcmp(out, "Person"), 0);
    // EXPECT_TRUE(*is_list);
    ......@@ -442,9 +449,12 @@ TEST_F(test_ccaosdb, test_entity) {
    caosdb_entity_entity_get_unit(&entity, &out);
    EXPECT_EQ(strcmp(out, "m"), 0);
    caosdb_entity_value in_value;
    return_code = caosdb_entity_create_double_value(&in_value, 5.0);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_entity_set_value(&entity, &in_value);
    EXPECT_EQ(return_code, 0);
    // TODO(fspreck)
    // return_code = caosdb_entity_entity_set_double_value(&entity, 5.0);
    // EXPECT_EQ(return_code, 0);
    // double value[] = {0.0}; // NOLINT
    // return_code = caosdb_entity_entity_get_double_value(&entity, value);
    // EXPECT_EQ(return_code, 0);
    ......@@ -452,6 +462,10 @@ TEST_F(test_ccaosdb, test_entity) {
    return_code = caosdb_entity_delete_entity(&entity);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_datatype(&in_type);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_value(&in_value);
    EXPECT_EQ(return_code, 0);
    }
    TEST_F(test_ccaosdb, test_parent) {
    ......@@ -483,12 +497,14 @@ TEST_F(test_ccaosdb, test_property) {
    caosdb_entity_property_set_id(&property, "some_id");
    caosdb_entity_property_set_name(&property, "some_name");
    // TODO(fspreck)
    // caosdb_entity_property_set_datatype(&property, "TEXT", false, false);
    caosdb_entity_datatype in_type;
    caosdb_entity_create_atomic_datatype(&in_type, "TEXT");
    caosdb_entity_property_set_datatype(&property, &in_type);
    caosdb_entity_property_set_importance(&property, "FIX");
    caosdb_entity_property_set_unit(&property, "some_unit");
    // TODO(fspreck)
    // caosdb_entity_property_set_string_value(&property, "some_value");
    caosdb_entity_value in_value;
    caosdb_entity_create_string_value(&in_value, "some_value");
    caosdb_entity_property_set_value(&property, &in_value);
    char *out = nullptr; // NOLINT
    caosdb_entity_property_get_id(&property, &out);
    ......@@ -517,22 +533,33 @@ TEST_F(test_ccaosdb, test_property) {
    return_code = caosdb_entity_delete_property(&property);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_datatype(&in_type);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_value(&in_value);
    EXPECT_EQ(return_code, 0);
    }
    // TODO(fspreck)
    // TEST_F(test_ccaosdb, test_string_list_property) {
    TEST_F(test_ccaosdb, test_string_list_property) {
    // caosdb_entity_property property;
    // int return_code(caosdb_entity_create_property(&property));
    // EXPECT_EQ(return_code, 0);
    caosdb_entity_property property;
    int return_code(caosdb_entity_create_property(&property));
    EXPECT_EQ(return_code, 0);
    // return_code = caosdb_entity_property_set_datatype(&property, "TEXT", false, true);
    // EXPECT_EQ(return_code, 0);
    caosdb_entity_datatype in_type;
    return_code = caosdb_entity_create_atomic_list_datatype(&in_type, "TEXT");
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_property_set_datatype(&property, &in_type);
    EXPECT_EQ(return_code, 0);
    // const char *value_list[] = {"val0", "val1", "val2"}; // NOLINT
    // return_code = caosdb_entity_property_set_string_list_value(&property, value_list, 3);
    // EXPECT_EQ(return_code, 0);
    caosdb_entity_value in_value;
    const char *value_list[] = {"val0", "val1", "val2"}; // NOLINT
    return_code = caosdb_entity_create_string_vector_value(&in_value, value_list, 3);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_property_set_value(&property, &in_value);
    EXPECT_EQ(return_code, 0);
    // TODO(fspreck)
    // char *out = nullptr; // NOLINT
    // bool is_ref[] = {false}; // NOLINT
    // bool is_list[] = {false}; // NOLINT
    ......@@ -553,23 +580,32 @@ TEST_F(test_ccaosdb, test_property) {
    // EXPECT_EQ(strcmp(value_list[i], out), 0); // NOLINT
    // }
    // return_code = caosdb_entity_delete_property(&property);
    // EXPECT_EQ(return_code, 0);
    // }
    return_code = caosdb_entity_delete_property(&property);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_datatype(&in_type);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_value(&in_value);
    EXPECT_EQ(return_code, 0);
    }
    // TEST_F(test_ccaosdb, test_int_list_property) {
    TEST_F(test_ccaosdb, test_int_list_property) {
    // caosdb_entity_property property;
    // int return_code(caosdb_entity_create_property(&property));
    // EXPECT_EQ(return_code, 0);
    caosdb_entity_property property;
    int return_code(caosdb_entity_create_property(&property));
    EXPECT_EQ(return_code, 0);
    // return_code = caosdb_entity_property_set_datatype(&property, "INTEGER", false, true);
    // EXPECT_EQ(return_code, 0);
    caosdb_entity_datatype in_type;
    caosdb_entity_create_atomic_list_datatype(&in_type, "INTEGER");
    return_code = caosdb_entity_property_set_datatype(&property, &in_type);
    EXPECT_EQ(return_code, 0);
    // const int64_t value_list[] = {1, 2, 3}; // NOLINT
    // return_code = caosdb_entity_property_set_int_list_value(&property, &(value_list)[0], 3);
    // EXPECT_EQ(return_code, 0);
    const int64_t value_list[] = {1, 2, 3}; // NOLINT
    caosdb_entity_value in_value;
    caosdb_entity_create_int_vector_value(&in_value, value_list, 3);
    return_code = caosdb_entity_property_set_value(&property, &in_value);
    EXPECT_EQ(return_code, 0);
    // TODO(fspreck)
    // char *dt_out = nullptr; // NOLINT
    // bool is_ref[] = {false}; // NOLINT
    // bool is_list[] = {false}; // NOLINT
    ......@@ -591,23 +627,32 @@ TEST_F(test_ccaosdb, test_property) {
    // EXPECT_EQ(value_list[i], out); // NOLINT
    // }
    // return_code = caosdb_entity_delete_property(&property);
    // EXPECT_EQ(return_code, 0);
    // }
    return_code = caosdb_entity_delete_property(&property);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_datatype(&in_type);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_value(&in_value);
    EXPECT_EQ(return_code, 0);
    }
    // TEST_F(test_ccaosdb, test_bool_list_property) {
    TEST_F(test_ccaosdb, test_bool_list_property) {
    // caosdb_entity_property property;
    // int return_code(caosdb_entity_create_property(&property));
    // EXPECT_EQ(return_code, 0);
    caosdb_entity_property property;
    int return_code(caosdb_entity_create_property(&property));
    EXPECT_EQ(return_code, 0);
    // return_code = caosdb_entity_property_set_datatype(&property, "BOOLEAN", false, true);
    // EXPECT_EQ(return_code, 0);
    caosdb_entity_datatype in_type;
    caosdb_entity_create_atomic_list_datatype(&in_type, "BOOLEAN");
    return_code = caosdb_entity_property_set_datatype(&property, &in_type);
    EXPECT_EQ(return_code, 0);
    // const bool value_list[] = {true, true, false}; // NOLINT
    // return_code = caosdb_entity_property_set_boolean_list_value(&property, &(value_list)[0], 3);
    // EXPECT_EQ(return_code, 0);
    const bool value_list[] = {true, true, false}; // NOLINT
    caosdb_entity_value in_value;
    caosdb_entity_create_bool_vector_value(&in_value, value_list, 3);
    return_code = caosdb_entity_property_set_value(&property, &in_value);
    EXPECT_EQ(return_code, 0);
    // TODO(fspreck)
    // char *dt_out = nullptr; // NOLINT
    // bool is_ref[] = {false}; // NOLINT
    // bool is_list[] = {false}; // NOLINT
    ......@@ -629,9 +674,13 @@ TEST_F(test_ccaosdb, test_property) {
    // EXPECT_EQ(value_list[i], out); // NOLINT
    // }
    // return_code = caosdb_entity_delete_property(&property);
    // EXPECT_EQ(return_code, 0);
    // }
    return_code = caosdb_entity_delete_property(&property);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_datatype(&in_type);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_value(&in_value);
    EXPECT_EQ(return_code, 0);
    }
    TEST_F(test_ccaosdb, test_entity_with_parent_and_property) {
    caosdb_entity_parent input_parent;
    ......@@ -648,9 +697,12 @@ TEST_F(test_ccaosdb, test_entity_with_parent_and_property) {
    caosdb_entity_property_set_id(&input_property, "property_id");
    caosdb_entity_property_set_name(&input_property, "property_name");
    // TODO(fspreck)
    // caosdb_entity_property_set_datatype(&input_property, "TEXT", false, false);
    // caosdb_entity_property_set_string_value(&input_property, "property_value");
    caosdb_entity_datatype in_type;
    caosdb_entity_create_atomic_datatype(&in_type, "TEXT");
    caosdb_entity_value in_value;
    caosdb_entity_create_string_value(&in_value, "property_value");
    caosdb_entity_property_set_datatype(&input_property, &in_type);
    caosdb_entity_property_set_value(&input_property, &in_value);
    caosdb_entity_entity entity;
    return_code = caosdb_entity_create_entity(&entity);
    ......@@ -724,6 +776,10 @@ TEST_F(test_ccaosdb, test_entity_with_parent_and_property) {
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_entity(&entity);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_datatype(&in_type);
    EXPECT_EQ(return_code, 0);
    return_code = caosdb_entity_delete_value(&in_value);
    EXPECT_EQ(return_code, 0);
    // This tests the `_deletable` flag. The wrapped cpp objects of
    // `output_parent` and `output_property` are owned by the entity, so
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment