Skip to content

Commit ace34ee

Browse files
committed
[Enhancement #54] Add acceptance tests for the feature.
1 parent 63a1ba9 commit ace34ee

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

src/test/java/cz/cvut/kbss/jsonld/serialization/ContextBuildingJsonLdSerializerTest.java

+53
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@
77
import cz.cvut.kbss.jopa.model.annotations.OWLDataProperty;
88
import cz.cvut.kbss.jopa.model.annotations.OWLObjectProperty;
99
import cz.cvut.kbss.jopa.vocabulary.DC;
10+
import cz.cvut.kbss.jopa.vocabulary.OWL;
1011
import cz.cvut.kbss.jopa.vocabulary.RDFS;
1112
import cz.cvut.kbss.jopa.vocabulary.XSD;
13+
import cz.cvut.kbss.jsonld.ConfigParam;
1214
import cz.cvut.kbss.jsonld.JsonLd;
1315
import cz.cvut.kbss.jsonld.common.IdentifierUtil;
1416
import cz.cvut.kbss.jsonld.environment.Generator;
1517
import cz.cvut.kbss.jsonld.environment.TestUtil;
1618
import cz.cvut.kbss.jsonld.environment.Vocabulary;
1719
import cz.cvut.kbss.jsonld.environment.model.*;
1820
import cz.cvut.kbss.jsonld.serialization.model.JsonNode;
21+
import cz.cvut.kbss.jsonld.serialization.model.ObjectNode;
1922
import org.eclipse.rdf4j.model.Model;
2023
import org.eclipse.rdf4j.model.impl.LinkedHashModel;
2124
import org.eclipse.rdf4j.model.util.Models;
@@ -309,4 +312,54 @@ void serializationCreatesEmbeddedContextOnCorrectLevel() throws Exception {
309312
final Map<String, ?> json = serializeAndRead(instance);
310313
verifyEmbeddedContext(json);
311314
}
315+
316+
@Test
317+
void serializationSerializesIndividualsAsStringWithExpandedTermDefinitionInContextWhenConfiguredTo() throws Exception {
318+
sut.configuration().set(ConfigParam.SERIALIZE_INDIVIDUALS_USING_EXPANDED_DEFINITION, Boolean.TRUE.toString());
319+
final Attribute instance = new Attribute();
320+
instance.setUri(Generator.generateUri());
321+
instance.setPropertyType(OwlPropertyType.DATATYPE_PROPERTY);
322+
instance.setPluralPropertyType(
323+
new HashSet<>(Arrays.asList(OwlPropertyType.ANNOTATION_PROPERTY, OwlPropertyType.OBJECT_PROPERTY)));
324+
325+
final Map<String, ?> json = serializeAndRead(instance);
326+
assertThat(json, hasKey(JsonLd.CONTEXT));
327+
assertInstanceOf(Map.class, json.get(JsonLd.CONTEXT));
328+
final Map<String, ?> context = (Map<String, JsonNode>) json.get(JsonLd.CONTEXT);
329+
assertThat(context, hasKey("propertyType"));
330+
final ObjectNode termDef = new ObjectNode("propertyType");
331+
termDef.addItem(JsonNodeFactory.createObjectIdNode(JsonLd.ID, Vocabulary.HAS_PROPERTY_TYPE));
332+
termDef.addItem(JsonNodeFactory.createStringLiteralNode(JsonLd.TYPE, JsonLd.ID));
333+
assertEquals(termDef, context.get("propertyType"));
334+
assertThat(context, hasKey("pluralPropertyType"));
335+
final ObjectNode pluralTermDef = new ObjectNode("pluralPropertyType");
336+
pluralTermDef.addItem(JsonNodeFactory.createObjectIdNode(JsonLd.ID, Vocabulary.HAS_PLURAL_PROPERTY_TYPE));
337+
pluralTermDef.addItem(JsonNodeFactory.createStringLiteralNode(JsonLd.TYPE, JsonLd.ID));
338+
assertEquals(pluralTermDef, context.get("pluralPropertyType"));
339+
assertThat(json, hasKey("propertyType"));
340+
assertEquals(OWL.DATATYPE_PROPERTY, json.get("propertyType"));
341+
assertThat(json, hasKey("pluralPropertyType"));
342+
assertInstanceOf(List.class, json.get("pluralPropertyType"));
343+
assertThat((List<String>) json.get("pluralPropertyType"),
344+
hasItems(OWL.ANNOTATION_PROPERTY, OWL.OBJECT_PROPERTY));
345+
}
346+
347+
@Test
348+
void serializationSerializesPlainIdentifierAsStringWithExpandedTermDefinitionInContextWhenConfiguredTo() throws Exception {
349+
sut.configuration().set(ConfigParam.SERIALIZE_INDIVIDUALS_USING_EXPANDED_DEFINITION, Boolean.TRUE.toString());
350+
final Organization instance = Generator.generateOrganization();
351+
instance.setCountry(URI.create("http://dbpedia.org/resource/Czech_Republic"));
352+
353+
final Map<String, ?> json = serializeAndRead(instance);
354+
assertThat(json, hasKey(JsonLd.CONTEXT));
355+
assertInstanceOf(Map.class, json.get(JsonLd.CONTEXT));
356+
final Map<String, ?> context = (Map<String, JsonNode>) json.get(JsonLd.CONTEXT);
357+
assertThat(context, hasKey("country"));
358+
final ObjectNode termDef = new ObjectNode("country");
359+
termDef.addItem(JsonNodeFactory.createObjectIdNode(JsonLd.ID, Vocabulary.ORIGIN));
360+
termDef.addItem(JsonNodeFactory.createStringLiteralNode(JsonLd.TYPE, JsonLd.ID));
361+
assertThat(context, hasKey("country"));
362+
assertEquals(termDef, context.get("country"));
363+
assertEquals(instance.getCountry().toString(), json.get("country"));
364+
}
312365
}

0 commit comments

Comments
 (0)