libamxd  6.4.1
Data Model Manager
test_amxd_object_instance.c File Reference
#include <stdlib.h>
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <fcntl.h>
#include <unistd.h>
#include <signal.h>
#include <cmocka.h>
#include <amxc/amxc.h>
#include <amxp/amxp_signal.h>
#include <amxp/amxp_slot.h>
#include <amxd/amxd_common.h>
#include <amxd/amxd_dm.h>
#include <amxd/amxd_object.h>
#include "test_amxd_object.h"
#include <amxc/amxc_macros.h>

Go to the source code of this file.

Functions

void test_can_set_max_instances (UNUSED void **state)
 

Variables

static amxd_dm_t dm
 

Function Documentation

◆ test_can_set_max_instances()

void test_can_set_max_instances ( UNUSED void **  state)

Definition at line 77 of file test_amxd_object_instance.c.

77  {
78  amxd_object_t* root = NULL;
79  amxd_object_t* template = NULL;
80  amxd_object_t* instance = NULL;
81 
82  assert_int_equal(amxd_object_new(&root, amxd_object_singleton, "Root"), 0);
83  assert_int_equal(amxd_dm_add_root_object(&dm, root), 0);
84  assert_int_equal(amxd_object_new(&template, amxd_object_template, "Template"), 0);
85  assert_int_equal(amxd_object_add_object(root, template), 0);
86 
87  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
88  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
89 
90  assert_int_equal(amxd_object_set_max_instances(template, 5), 0);
91 
92  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
93  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
94  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
95 
96  assert_int_not_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
97  assert_int_equal(amxd_object_set_max_instances(template, 6), 0);
98  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
99  assert_int_not_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
100 
101  assert_int_equal(amxd_object_set_max_instances(template, UINT32_MAX), 0);
102  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
103  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
104  assert_int_equal(amxd_object_add_instance(&instance, template, NULL, 0, NULL), 0);
105 
106  assert_int_not_equal(amxd_object_set_max_instances(template, 6), 0);
107  assert_int_equal(amxd_object_set_max_instances(template, 10), 0);
108 
109  amxd_dm_clean(&dm);
110 }
amxd_status_t amxd_object_set_max_instances(amxd_object_t *object, uint32_t max)
@ amxd_object_template
Definition: amxd_types.h:183
@ amxd_object_singleton
Definition: amxd_types.h:181
amxd_status_t amxd_dm_add_root_object(amxd_dm_t *const dm, amxd_object_t *const object)
Adds an object to the root of the data model.
Definition: amxd_dm.c:418
void amxd_dm_clean(amxd_dm_t *dm)
Cleans a data model structure.
Definition: amxd_dm.c:365
amxd_status_t amxd_object_add_object(amxd_object_t *const parent, amxd_object_t *const child)
Adds an object in the data model tree.
Definition: amxd_object.c:207
amxd_status_t amxd_object_new(amxd_object_t **object, const amxd_object_type_t type, const char *name)
Data model object constructor function.
Definition: amxd_object.c:185
amxd_status_t amxd_object_add_instance(amxd_object_t **object, amxd_object_t *templ, const char *name, uint32_t index, amxc_var_t *values)
Data model object constructor function.
static amxd_dm_t dm

Variable Documentation

◆ dm

amxd_dm_t dm
static

Definition at line 75 of file test_amxd_object_instance.c.