test_graph.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "test.h"
  2. #include "graph.h"
  3. #include "assets.h"
  4. static int test_graph_new()
  5. {
  6. LSUP_Graph *gr;
  7. EXPECT_PASS(LSUP_graph_new(LSUP_STORE_MEM, &gr));
  8. EXPECT_PASS(LSUP_graph_set_uri(gr, "urn:gr:1"));
  9. EXPECT_STR_EQ(LSUP_graph_uri(gr)->data, "urn:gr:1");
  10. EXPECT_PASS(LSUP_graph_resize(gr, 10));
  11. EXPECT_INT_EQ(LSUP_graph_capacity(gr), 10);
  12. ASSERT(strcmp(LSUP_graph_uri(gr)->data, "urn:gr:1") == 0, "Graph URI mismatch!");
  13. EXPECT_INT_EQ(LSUP_graph_size(gr), 0);
  14. LSUP_graph_free(gr);
  15. return 0;
  16. }
  17. static int test_graph_add()
  18. {
  19. LSUP_Triple *trp = create_triples();
  20. LSUP_Graph *gr;
  21. LSUP_graph_new(LSUP_STORE_MEM, &gr);
  22. LSUP_graph_resize(gr, NUM_TRP + 2);
  23. size_t ct;
  24. LSUP_graph_add_trp(gr, trp, NUM_TRP, &ct);
  25. for (int i = 0; i < sizeof(trp); i++) {
  26. printf("checking triple #%d... ", i);
  27. ASSERT(LSUP_graph_contains(gr, trp + i), "Triple not in graph!");
  28. printf("OK.\n");
  29. }
  30. free_triples(trp); // gr copied data.
  31. EXPECT_INT_EQ(LSUP_graph_size(gr), 8);
  32. LSUP_graph_free(gr);
  33. return 0;
  34. }
  35. int graph_tests()
  36. {
  37. RUN(test_graph_new);
  38. RUN(test_graph_add);
  39. return 0;
  40. }