test_desc.c 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #include "test.h"
  2. #include "namespace.h"
  3. static int
  4. test_desc_create()
  5. {
  6. LSUP_Term *terms1[] = {
  7. LSUP_iriref_new ("urn:s:1", NULL),
  8. LSUP_iriref_new ("urn:s:2", NULL),
  9. LSUP_iriref_new ("urn:p:1", NULL),
  10. LSUP_iriref_new ("urn:p:2", NULL),
  11. LSUP_iriref_new ("urn:o:1", NULL),
  12. LSUP_iriref_new ("urn:o:2", NULL),
  13. };
  14. LSUP_Term *terms2[] = {
  15. LSUP_iriref_new ("urn:s:10", NULL),
  16. LSUP_iriref_new ("urn:s:20", NULL),
  17. LSUP_iriref_new ("urn:p:10", NULL),
  18. LSUP_iriref_new ("urn:p:20", NULL),
  19. LSUP_iriref_new ("urn:o:10", NULL),
  20. LSUP_iriref_new ("urn:o:20", NULL),
  21. };
  22. LSUP_Triple *trp1[] = {
  23. LSUP_triple_new (terms1[0], terms1[2], terms1[4]),
  24. LSUP_triple_new (terms1[0], terms1[3], terms1[4]),
  25. LSUP_triple_new (terms1[0], terms1[3], terms1[5]),
  26. LSUP_triple_new (terms1[1], terms1[2], terms1[4]),
  27. NULL
  28. };
  29. LSUP_Triple *trp2[] = {
  30. LSUP_triple_new (terms2[0], terms2[2], terms2[4]),
  31. LSUP_triple_new (terms2[0], terms2[3], terms2[4]),
  32. LSUP_triple_new (terms2[0], terms2[3], terms2[5]),
  33. LSUP_triple_new (terms2[1], terms2[2], terms2[4]),
  34. NULL
  35. };
  36. LSUP_Term *usr1_uri = LSUP_iriref_new ("#usr1", NULL);
  37. LSUP_Graph *gr1 = LSUP_graph_new (NULL, usr1_uri, NULL);
  38. LSUP_term_free (usr1_uri);
  39. ASSERT (gr1, "Error creating graph!");
  40. EXPECT_PASS (LSUP_graph_add (gr1, trp1, NULL));
  41. for (size_t i = 0; trp1[i]; i++)
  42. free (trp1[i]);
  43. LSUP_Term *usr2_uri = LSUP_iriref_new ("#usr2", NULL);
  44. LSUP_Graph *gr2 = LSUP_graph_new (NULL, usr2_uri, NULL);
  45. LSUP_term_free (usr2_uri);
  46. ASSERT (gr2, "Error creating graph!");
  47. EXPECT_PASS (LSUP_graph_add (gr2, trp2, NULL));
  48. for (size_t i = 0; trp2[i]; i++)
  49. free (trp2[i]);
  50. LSUP_Graph *data[] = {gr1, gr2, NULL};
  51. LSR_Desc *rsrc;
  52. EXPECT_PASS (LSR_desc_new_multi (data, &rsrc));
  53. // Free input handles before using the resource to ensure that these
  54. // pointers are not being referenced by the resource.
  55. LSUP_graph_free (gr1);
  56. LSUP_graph_free (gr2);
  57. for (int i = 0; i < 6; i++) {
  58. LSUP_term_free (terms1[i]);
  59. LSUP_term_free (terms2[i]);
  60. }
  61. // TODO more action
  62. // Store for next test before freeing.
  63. EXPECT_PASS (LSR_desc_store (rsrc));
  64. LSR_desc_free (rsrc);
  65. return 0;
  66. }
  67. static int
  68. test_desc_get ()
  69. {
  70. return 0;
  71. }
  72. int desc_tests()
  73. {
  74. RUN (test_desc_create);
  75. RUN (test_desc_get);
  76. return 0;
  77. }