check_namespace.c 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. ============================================================================
  3. Name : check_stack.c
  4. Author :
  5. Version :
  6. Copyright : Your copyright notice
  7. Description :
  8. ============================================================================
  9. */
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include "opcua.h"
  13. #include "ua_namespace.h"
  14. #include "check.h"
  15. START_TEST(test_Namespace) {
  16. namespace *ns = UA_NULL;
  17. create_ns(&ns, 512);
  18. delete_ns(ns);
  19. }
  20. END_TEST
  21. START_TEST(findNodeInNamespaceWithSingleEntry) {
  22. // given
  23. namespace *ns;
  24. create_ns(&ns, 512);
  25. UA_Node n1 = { (UA_NodeId) { UA_NODEIDTYPE_FOURBYTE, 0, { 2253 }}, 0 };
  26. insert_node(ns,&n1);
  27. UA_Node* nr = UA_NULL;
  28. ns_lock* nl = UA_NULL;
  29. UA_Int32 retval;
  30. // when
  31. UA_NodeId nid1 = { UA_NODEIDTYPE_FOURBYTE, 0, { 2253 }};
  32. retval = get_node(ns,&nid1,&nr,&nl);
  33. // then
  34. ck_assert_int_eq(retval, UA_SUCCESS);
  35. ck_assert_ptr_eq(nr,&n1);
  36. // finally
  37. delete_ns(ns);
  38. }
  39. END_TEST
  40. START_TEST(findNodeInNamespaceWithTwoEntries) {
  41. // given
  42. namespace *ns;
  43. create_ns(&ns, 512);
  44. UA_Node n1 = { (UA_NodeId) { UA_NODEIDTYPE_FOURBYTE, 0, { 2253 }}, 0 };
  45. UA_Node n2 = { (UA_NodeId) { UA_NODEIDTYPE_FOURBYTE, 0, { 2255 }}, 0 };
  46. insert_node(ns,&n1);
  47. insert_node(ns,&n2);
  48. UA_Node* nr = UA_NULL;
  49. ns_lock* nl = UA_NULL;
  50. UA_Int32 retval;
  51. // when
  52. UA_NodeId nid1 = { UA_NODEIDTYPE_FOURBYTE, 0, { 2255 }};
  53. retval = get_node(ns,&nid1,&nr,&nl);
  54. // then
  55. ck_assert_int_eq(retval, UA_SUCCESS);
  56. ck_assert_ptr_eq(nr,&n1);
  57. // finally
  58. delete_ns(ns);
  59. }
  60. END_TEST
  61. Suite * namespace_suite (void) {
  62. Suite *s = suite_create ("Namespace");
  63. TCase *tc_cd = tcase_create ("Create/Delete");
  64. tcase_add_test (tc_cd, test_Namespace);
  65. suite_add_tcase (s, tc_cd);
  66. TCase* tc_find = tcase_create ("Find");
  67. tcase_add_test (tc_find, findNodeInNamespaceWithSingleEntry);
  68. tcase_add_test (tc_find, findNodeInNamespaceWithTwoEntries);
  69. suite_add_tcase (s, tc_find);
  70. return s;
  71. }
  72. int main (void) {
  73. int number_failed =0;
  74. Suite *s = namespace_suite ();
  75. SRunner *sr = srunner_create (s);
  76. srunner_set_fork_status(sr,CK_NOFORK);
  77. srunner_run_all (sr, CK_NORMAL);
  78. number_failed += srunner_ntests_failed (sr);
  79. srunner_free (sr);
  80. return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
  81. }