1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef _TEST_ASSETS_TRIPLES_H
- #define _TEST_ASSETS_TRIPLES_H
- #include "term.h"
- #define NUM_TRP 10
- /*
- * This results in the following set:
- * <urn:s:0> <urn:p:0> <urn:o:0> .
- * <urn:s:1> <urn:p:1> <urn:o:1> .
- * <urn:s:2> <urn:p:2> <urn:o:2> .
- * <urn:s:0> <urn:p:1> <urn:o:2> .
- * <urn:s:0> <urn:p:2> "String 1" .
- * <urn:s:0> <urn:p:5> "String 1"^^<urn:mydatatype:string> .
- * <urn:s:1> <urn:p:6> "String 1"@es-ES .
- * <urn:s:0> <urn:p:2> "String 1"^^<urn:mydatatype:string> .
- */
- LSUP_Triple **create_triples()
- {
- LSUP_NSMap *nsm = LSUP_nsmap_new ();
- LSUP_nsmap_add (nsm, "ns1", "urn:s:");
- LSUP_nsmap_add (nsm, "ns2", "urn:p:");
- LSUP_Term
- *s0 = LSUP_iriref_new ("urn:s:0", NULL),
- *s5 = LSUP_iriref_new ("ns1:0", nsm),
- *p2 = LSUP_iriref_new ("urn:p:2", NULL),
- *p4 = LSUP_iriref_new ("ns2:2", nsm),
- *o5 = LSUP_literal_new (
- "String 1",
- LSUP_iriref_new ("urn:mydatatype:string", NULL));
- LSUP_Triple **trp = calloc (sizeof (*trp), NUM_TRP + 1);
- trp[0] = LSUP_triple_new (
- s0,
- LSUP_iriref_new ("urn:p:0", NULL),
- LSUP_iriref_new ("urn:o:0", NULL));
- trp[1] = LSUP_triple_new (
- LSUP_iriref_new ("urn:s:1", NULL),
- LSUP_iriref_new ("urn:p:1", NULL),
- LSUP_iriref_new ("urn:o:1", NULL));
- trp[2] = LSUP_triple_new (
- LSUP_iriref_new ("urn:s:2", NULL),
- p2,
- LSUP_iriref_new ("urn:o:2", NULL));
- trp[3] = LSUP_triple_new (
- LSUP_iriref_new ("urn:s:0", NULL),
- LSUP_iriref_new ("urn:p:1", NULL),
- LSUP_iriref_new ("urn:o:2", NULL));
- trp[4] = LSUP_triple_new (
- LSUP_iriref_new ("urn:s:0", NULL),
- p4,
- LSUP_literal_new ("String 1", NULL));
- trp[5] = LSUP_triple_new (s5, LSUP_iriref_new ("urn:p:5", NULL), o5);
- trp[6] = LSUP_triple_new (
- LSUP_iriref_new ("urn:s:1", NULL),
- LSUP_iriref_new ("urn:p:6", NULL),
- LSUP_lt_literal_new ("String 1", "es-ES"));
- // Unique triple from reused pointers. Do not double-free.
- trp[7] = LSUP_triple_new (s0, p2, o5);
- // Duplicate of trp[7]. Do not double-free.
- trp[8] = LSUP_triple_new (s0, p2, o5);
- // Duplicate of trp[7] from different reused terms but semantically
- // identical. Do not double-free.
- trp[9] = LSUP_triple_new (s5, p4, o5);
- return trp;
- }
- void free_triples (LSUP_Triple **trp)
- {
- LSUP_nsmap_free (LSUP_iriref_nsm (trp[4]->p));
- // Last three triples are second pointers.
- for (int i=0; i < NUM_TRP - 3; i++)
- LSUP_triple_free (trp[i]);
- free (trp[7]);
- free (trp[8]);
- free (trp[9]);
- free(trp);
- }
- #endif /* _TEST_ASSETS_TRIPLES_H */
|