/* ============================================================================ Name : check_stack.c Author : Version : Copyright : Your copyright notice Description : ============================================================================ */ #include #include #include "opcua.h" #include "ua_namespace.h" #include "check.h" START_TEST(test_Namespace) { namespace *ns = UA_NULL; create_ns(&ns, 512); delete_ns(ns); } END_TEST START_TEST(findNodeInNamespaceWithSingleEntry) { // given namespace *ns; create_ns(&ns, 512); UA_Node n1 = { (UA_NodeId) { UA_NODEIDTYPE_FOURBYTE, 0, { 2253 }}, 0 }; insert_node(ns,&n1); UA_Node* nr = UA_NULL; ns_lock* nl = UA_NULL; UA_Int32 retval; // when UA_NodeId nid1 = { UA_NODEIDTYPE_FOURBYTE, 0, { 2253 }}; retval = get_node(ns,&nid1,&nr,&nl); // then ck_assert_int_eq(retval, UA_SUCCESS); ck_assert_ptr_eq(nr,&n1); // finally delete_ns(ns); } END_TEST START_TEST(findNodeInNamespaceWithTwoEntries) { // given namespace *ns; create_ns(&ns, 512); UA_Node n1 = { (UA_NodeId) { UA_NODEIDTYPE_FOURBYTE, 0, { 2253 }}, 0 }; UA_Node n2 = { (UA_NodeId) { UA_NODEIDTYPE_FOURBYTE, 0, { 2255 }}, 0 }; insert_node(ns,&n1); insert_node(ns,&n2); UA_Node* nr = UA_NULL; ns_lock* nl = UA_NULL; UA_Int32 retval; // when UA_NodeId nid1 = { UA_NODEIDTYPE_FOURBYTE, 0, { 2255 }}; retval = get_node(ns,&nid1,&nr,&nl); // then ck_assert_int_eq(retval, UA_SUCCESS); ck_assert_ptr_eq(nr,&n1); // finally delete_ns(ns); } END_TEST Suite * namespace_suite (void) { Suite *s = suite_create ("Namespace"); TCase *tc_cd = tcase_create ("Create/Delete"); tcase_add_test (tc_cd, test_Namespace); suite_add_tcase (s, tc_cd); TCase* tc_find = tcase_create ("Find"); tcase_add_test (tc_find, findNodeInNamespaceWithSingleEntry); tcase_add_test (tc_find, findNodeInNamespaceWithTwoEntries); suite_add_tcase (s, tc_find); return s; } int main (void) { int number_failed =0; Suite *s = namespace_suite (); SRunner *sr = srunner_create (s); srunner_set_fork_status(sr,CK_NOFORK); srunner_run_all (sr, CK_NORMAL); number_failed += srunner_ntests_failed (sr); srunner_free (sr); return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; }