diff --git a/testset/invalid/format/languages/duplicate.json b/testset/invalid/format/languages/duplicateValue.json similarity index 100% rename from testset/invalid/format/languages/duplicate.json rename to testset/invalid/format/languages/duplicateValue.json diff --git a/testset/invalid/format/nodes/duplicateId.json b/testset/invalid/format/nodes/duplicateId.json new file mode 100644 index 0000000..f5cfe5a --- /dev/null +++ b/testset/invalid/format/nodes/duplicateId.json @@ -0,0 +1,46 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "myConcept" + }, + "properties": [], + "children": [], + "references": [], + "annotations": [], + "parent": null + }, + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "myOtherConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "myProp" + }, + "value": "hello" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/invalid/format/nodes/duplicate.json b/testset/invalid/format/nodes/duplicateValue.json similarity index 96% rename from testset/invalid/format/nodes/duplicate.json rename to testset/invalid/format/nodes/duplicateValue.json index 505f57f..40c8506 100644 --- a/testset/invalid/format/nodes/duplicate.json +++ b/testset/invalid/format/nodes/duplicateValue.json @@ -38,7 +38,7 @@ "concept": { "language": "myLang", "version": "1", - "key": "otherConcept" + "key": "myConcept" }, "properties": [], "children": [], diff --git a/testset/invalid/json/languages/duplicateKey.json b/testset/invalid/json/languages/duplicateKey.json new file mode 100644 index 0000000..c23a83a --- /dev/null +++ b/testset/invalid/json/languages/duplicateKey.json @@ -0,0 +1,16 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "a", + "version": "1" + } + ], + "languages": [ + { + "key": "b", + "version": "1" + } + ], + "nodes": [] +} \ No newline at end of file diff --git a/testset/invalid/format/languages/key/duplicate.json b/testset/invalid/json/languages/key/duplicateKey.json similarity index 100% rename from testset/invalid/format/languages/key/duplicate.json rename to testset/invalid/json/languages/key/duplicateKey.json diff --git a/testset/invalid/format/languages/version/duplicate.json b/testset/invalid/json/languages/version/duplicateKey.json similarity index 100% rename from testset/invalid/format/languages/version/duplicate.json rename to testset/invalid/json/languages/version/duplicateKey.json diff --git a/testset/invalid/format/nodes/annotations/duplicate.json b/testset/invalid/json/nodes/annotations/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/annotations/duplicate.json rename to testset/invalid/json/nodes/annotations/duplicateKey.json diff --git a/testset/invalid/format/nodes/children/children/duplicate.json b/testset/invalid/json/nodes/children/children/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/children/children/duplicate.json rename to testset/invalid/json/nodes/children/children/duplicateKey.json diff --git a/testset/invalid/format/nodes/children/containment/duplicate.json b/testset/invalid/json/nodes/children/containment/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/children/containment/duplicate.json rename to testset/invalid/json/nodes/children/containment/duplicateKey.json diff --git a/testset/invalid/format/nodes/children/containment/key/duplicate.json b/testset/invalid/json/nodes/children/containment/key/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/children/containment/key/duplicate.json rename to testset/invalid/json/nodes/children/containment/key/duplicateKey.json diff --git a/testset/invalid/format/nodes/children/containment/language/duplicate.json b/testset/invalid/json/nodes/children/containment/language/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/children/containment/language/duplicate.json rename to testset/invalid/json/nodes/children/containment/language/duplicateKey.json diff --git a/testset/invalid/format/nodes/children/containment/version/duplicate.json b/testset/invalid/json/nodes/children/containment/version/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/children/containment/version/duplicate.json rename to testset/invalid/json/nodes/children/containment/version/duplicateKey.json diff --git a/testset/invalid/format/nodes/children/duplicate.json b/testset/invalid/json/nodes/children/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/children/duplicate.json rename to testset/invalid/json/nodes/children/duplicateKey.json diff --git a/testset/invalid/format/nodes/concept/duplicate.json b/testset/invalid/json/nodes/concept/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/concept/duplicate.json rename to testset/invalid/json/nodes/concept/duplicateKey.json diff --git a/testset/invalid/format/nodes/concept/key/duplicate.json b/testset/invalid/json/nodes/concept/key/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/concept/key/duplicate.json rename to testset/invalid/json/nodes/concept/key/duplicateKey.json diff --git a/testset/invalid/format/nodes/concept/language/duplicate.json b/testset/invalid/json/nodes/concept/language/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/concept/language/duplicate.json rename to testset/invalid/json/nodes/concept/language/duplicateKey.json diff --git a/testset/invalid/format/nodes/concept/version/duplicate.json b/testset/invalid/json/nodes/concept/version/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/concept/version/duplicate.json rename to testset/invalid/json/nodes/concept/version/duplicateKey.json diff --git a/testset/invalid/json/nodes/duplicateKey.json b/testset/invalid/json/nodes/duplicateKey.json new file mode 100644 index 0000000..8852caf --- /dev/null +++ b/testset/invalid/json/nodes/duplicateKey.json @@ -0,0 +1,39 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "myConcept" + }, + "properties": [], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ], + "nodes": [ + { + "id": "b", + "concept": { + "language": "myLang", + "version": "1", + "key": "myConcept" + }, + "properties": [], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/invalid/format/nodes/id/duplicate.json b/testset/invalid/json/nodes/id/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/id/duplicate.json rename to testset/invalid/json/nodes/id/duplicateKey.json diff --git a/testset/invalid/format/nodes/parent/duplicate.json b/testset/invalid/json/nodes/parent/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/parent/duplicate.json rename to testset/invalid/json/nodes/parent/duplicateKey.json diff --git a/testset/invalid/format/nodes/properties/duplicate.json b/testset/invalid/json/nodes/properties/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/properties/duplicate.json rename to testset/invalid/json/nodes/properties/duplicateKey.json diff --git a/testset/invalid/json/nodes/properties/property/duplicateKey.json b/testset/invalid/json/nodes/properties/property/duplicateKey.json new file mode 100644 index 0000000..32ec5cd --- /dev/null +++ b/testset/invalid/json/nodes/properties/property/duplicateKey.json @@ -0,0 +1,38 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "myConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "myConcept-prop" + }, + "value": null, + "property": { + "language": "myLang", + "version": "1", + "key": "myConcept-prop" + } + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/invalid/format/nodes/properties/property/key/duplicate.json b/testset/invalid/json/nodes/properties/property/key/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/properties/property/key/duplicate.json rename to testset/invalid/json/nodes/properties/property/key/duplicateKey.json diff --git a/testset/invalid/format/nodes/properties/property/language/duplicate.json b/testset/invalid/json/nodes/properties/property/language/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/properties/property/language/duplicate.json rename to testset/invalid/json/nodes/properties/property/language/duplicateKey.json diff --git a/testset/invalid/format/nodes/properties/property/version/duplicate.json b/testset/invalid/json/nodes/properties/property/version/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/properties/property/version/duplicate.json rename to testset/invalid/json/nodes/properties/property/version/duplicateKey.json diff --git a/testset/invalid/format/nodes/properties/value/duplicate.json b/testset/invalid/json/nodes/properties/value/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/properties/value/duplicate.json rename to testset/invalid/json/nodes/properties/value/duplicateKey.json diff --git a/testset/invalid/format/nodes/references/duplicate.json b/testset/invalid/json/nodes/references/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/references/duplicate.json rename to testset/invalid/json/nodes/references/duplicateKey.json diff --git a/testset/invalid/format/nodes/references/reference/duplicate.json b/testset/invalid/json/nodes/references/reference/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/references/reference/duplicate.json rename to testset/invalid/json/nodes/references/reference/duplicateKey.json diff --git a/testset/invalid/format/nodes/references/reference/key/duplicate.json b/testset/invalid/json/nodes/references/reference/key/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/references/reference/key/duplicate.json rename to testset/invalid/json/nodes/references/reference/key/duplicateKey.json diff --git a/testset/invalid/format/nodes/references/reference/language/duplicate.json b/testset/invalid/json/nodes/references/reference/language/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/references/reference/language/duplicate.json rename to testset/invalid/json/nodes/references/reference/language/duplicateKey.json diff --git a/testset/invalid/format/nodes/references/reference/version/duplicate.json b/testset/invalid/json/nodes/references/reference/version/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/references/reference/version/duplicate.json rename to testset/invalid/json/nodes/references/reference/version/duplicateKey.json diff --git a/testset/invalid/format/nodes/references/targets/duplicate.json b/testset/invalid/json/nodes/references/targets/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/references/targets/duplicate.json rename to testset/invalid/json/nodes/references/targets/duplicateKey.json diff --git a/testset/invalid/format/nodes/references/targets/reference/duplicate.json b/testset/invalid/json/nodes/references/targets/reference/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/references/targets/reference/duplicate.json rename to testset/invalid/json/nodes/references/targets/reference/duplicateKey.json diff --git a/testset/invalid/format/nodes/references/targets/resolveInfo/duplicate.json b/testset/invalid/json/nodes/references/targets/resolveInfo/duplicateKey.json similarity index 100% rename from testset/invalid/format/nodes/references/targets/resolveInfo/duplicate.json rename to testset/invalid/json/nodes/references/targets/resolveInfo/duplicateKey.json diff --git a/testset/invalid/json/serializationFormatVersion/duplicateKey.json b/testset/invalid/json/serializationFormatVersion/duplicateKey.json new file mode 100644 index 0000000..7edc35d --- /dev/null +++ b/testset/invalid/json/serializationFormatVersion/duplicateKey.json @@ -0,0 +1,6 @@ +{ + "serializationFormatVersion": "2", + "languages": [], + "serializationFormatVersion": "1", + "nodes": [] +} \ No newline at end of file diff --git a/testset/invalid/format/wrongOrder.json b/testset/invalid/json/wrongOrder.json similarity index 100% rename from testset/invalid/format/wrongOrder.json rename to testset/invalid/json/wrongOrder.json diff --git a/testset/withLanguage/invalid/properties/inheritance/wrongConcept.json b/testset/withLanguage/invalid/properties/inheritance/wrongConcept.json new file mode 100644 index 0000000..61c5079 --- /dev/null +++ b/testset/withLanguage/invalid/properties/inheritance/wrongConcept.json @@ -0,0 +1,33 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "mySubConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "myOtherConcept-otherIntegerProp" + }, + "value": "" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/withLanguage/myLang.language.json b/testset/withLanguage/myLang.language.json index 09fda07..4f62703 100644 --- a/testset/withLanguage/myLang.language.json +++ b/testset/withLanguage/myLang.language.json @@ -50,7 +50,15 @@ "children": [ "myConcept-id", "enumA-id", - "enumB-id" + "enumB-id", + "mySubConcept-id", + "mySubSubConcept-id", + "myOtherConcept-id", + "myIface-id", + "otherIface-id", + "subIface-id", + "combinedIface-id", + "separateIface-id" ] } ], @@ -591,6 +599,913 @@ "references": [], "annotations": [], "parent": "enumB-id" + }, + { + "id": "mySubConcept-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-abstract" + }, + "value": "false" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "MySubConcept" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "mySubConcept" + } + ], + "children": [ + { + "containment": { + "language": "LIonCore-M3", + "version": "1", + "key": "Classifier-features" + }, + "children": [ + "subStringProp-id" + ] + } + ], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-extends" + }, + "targets": [ + { + "resolveInfo": "MyConcept", + "reference": "myConcept-id" + } + ] + }, + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-implements" + }, + "targets": [ + { + "resolveInfo": "CombinedIface", + "reference": "combinedIface-id" + }, + { + "resolveInfo": "SeparateIface", + "reference": "separateIface-id" + } + ] + } + ], + "annotations": [], + "parent": "lang-id" + }, + { + "id": "subStringProp-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Feature-optional" + }, + "value": "true" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "SubStringProperty" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "myConcept-subStringProp" + } + ], + "children": [], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property-type" + }, + "targets": [ + { + "resolveInfo": "String", + "reference": "LIonCore-builtins-String" + } + ] + } + ], + "annotations": [], + "parent": "mySubConcept-id" + }, + { + "id": "mySubSubConcept-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-abstract" + }, + "value": "false" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "MySubSubConcept" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "mySubSubConcept" + } + ], + "children": [ + { + "containment": { + "language": "LIonCore-M3", + "version": "1", + "key": "Classifier-features" + }, + "children": [ + "subSubStringProp-id" + ] + } + ], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-extends" + }, + "targets": [ + { + "resolveInfo": "MySubConcept", + "reference": "mySubConcept-id" + } + ] + }, + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-implements" + }, + "targets": [] + } + ], + "annotations": [], + "parent": "lang-id" + }, + { + "id": "subSubStringProp-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Feature-optional" + }, + "value": "true" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "SubSubStringProperty" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "mySubConcept-subSubStringProp" + } + ], + "children": [], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property-type" + }, + "targets": [ + { + "resolveInfo": "String", + "reference": "LIonCore-builtins-String" + } + ] + } + ], + "annotations": [], + "parent": "mySubSubConcept-id" + }, + { + "id": "myOtherConcept-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-abstract" + }, + "value": "false" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "MyOtherConcept" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "myOtherConcept" + } + ], + "children": [ + { + "containment": { + "language": "LIonCore-M3", + "version": "1", + "key": "Classifier-features" + }, + "children": [ + "otherIntegerProp-id" + ] + } + ], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-extends" + }, + "targets": [ + { + "resolveInfo": "MyConcept", + "reference": "myConcept-id" + } + ] + }, + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Concept-implements" + }, + "targets": [] + } + ], + "annotations": [], + "parent": "lang-id" + }, + { + "id": "otherIntegerProp-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Feature-optional" + }, + "value": "true" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "OtherIntegerProperty" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "myOtherConcept-otherIntegerProp" + } + ], + "children": [], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property-type" + }, + "targets": [ + { + "resolveInfo": "String", + "reference": "LIonCore-builtins-String" + } + ] + } + ], + "annotations": [], + "parent": "myOtherConcept-id" + }, + { + "id": "myIface-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface" + }, + "properties": [ + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "MyIface" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "myIface" + } + ], + "children": [ + { + "containment": { + "language": "LIonCore-M3", + "version": "1", + "key": "Classifier-features" + }, + "children": [ + "ifaceStringProp-id" + ] + } + ], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface-extends" + }, + "targets": [] + } + ], + "annotations": [], + "parent": "lang-id" + }, + { + "id": "ifaceStringProp-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Feature-optional" + }, + "value": "true" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "MyIfaceStringProperty" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "myIface-ifaceStringProp" + } + ], + "children": [], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property-type" + }, + "targets": [ + { + "resolveInfo": "String", + "reference": "LIonCore-builtins-String" + } + ] + } + ], + "annotations": [], + "parent": "myIface-id" + }, + { + "id": "otherIface-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface" + }, + "properties": [ + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "OtherIface" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "otherIface" + } + ], + "children": [ + { + "containment": { + "language": "LIonCore-M3", + "version": "1", + "key": "Classifier-features" + }, + "children": [ + "otherIfaceStringProp-id" + ] + } + ], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface-extends" + }, + "targets": [ + { + "resolveInfo": "MyIface", + "reference": "myIface-id" + } + ] + } + ], + "annotations": [], + "parent": "lang-id" + }, + { + "id": "otherIfaceStringProp-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Feature-optional" + }, + "value": "true" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "OtherIfaceStringProperty" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "otherIface-ifaceStringProp" + } + ], + "children": [], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property-type" + }, + "targets": [ + { + "resolveInfo": "String", + "reference": "LIonCore-builtins-String" + } + ] + } + ], + "annotations": [], + "parent": "otherIface-id" + }, + { + "id": "subIface-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface" + }, + "properties": [ + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "SubIface" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "subIface" + } + ], + "children": [ + { + "containment": { + "language": "LIonCore-M3", + "version": "1", + "key": "Classifier-features" + }, + "children": [ + "subIfaceStringProp-id" + ] + } + ], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface-extends" + }, + "targets": [ + { + "resolveInfo": "MyIface", + "reference": "myIface-id" + } + ] + } + ], + "annotations": [], + "parent": "lang-id" + }, + { + "id": "subIfaceStringProp-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Feature-optional" + }, + "value": "true" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "SubIfaceStringProperty" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "subIface-ifaceStringProp" + } + ], + "children": [], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property-type" + }, + "targets": [ + { + "resolveInfo": "String", + "reference": "LIonCore-builtins-String" + } + ] + } + ], + "annotations": [], + "parent": "subIface-id" + }, + { + "id": "combinedIface-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface" + }, + "properties": [ + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "CombinedIface" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "combinedIface" + } + ], + "children": [ + { + "containment": { + "language": "LIonCore-M3", + "version": "1", + "key": "Classifier-features" + }, + "children": [ + "combinedIfaceStringProp-id" + ] + } + ], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface-extends" + }, + "targets": [ + { + "resolveInfo": "SubIface", + "reference": "subIface-id" + }, + { + "resolveInfo": "OtherIface", + "reference": "otherIface-id" + } + ] + } + ], + "annotations": [], + "parent": "lang-id" + }, + { + "id": "combinedIfaceStringProp-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Feature-optional" + }, + "value": "true" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "CombinedIfaceStringProperty" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "combinedIface-ifaceStringProp" + } + ], + "children": [], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property-type" + }, + "targets": [ + { + "resolveInfo": "String", + "reference": "LIonCore-builtins-String" + } + ] + } + ], + "annotations": [], + "parent": "combinedIface-id" + }, + { + "id": "separateIface-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface" + }, + "properties": [ + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "SeparateIface" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "separateIface" + } + ], + "children": [ + { + "containment": { + "language": "LIonCore-M3", + "version": "1", + "key": "Classifier-features" + }, + "children": [ + "separateIfaceStringProp-id" + ] + } + ], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "ConceptInterface-extends" + }, + "targets": [] + } + ], + "annotations": [], + "parent": "lang-id" + }, + { + "id": "separateIfaceStringProp-id", + "concept": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property" + }, + "properties": [ + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "Feature-optional" + }, + "value": "true" + }, + { + "property": { + "language": "LIonCore-builtins", + "version": "1", + "key": "LIonCore-builtins-INamed-name" + }, + "value": "SeparateIfaceStringProperty" + }, + { + "property": { + "language": "LIonCore-M3", + "version": "1", + "key": "IKeyed-key" + }, + "value": "separateIface-ifaceStringProp" + } + ], + "children": [], + "references": [ + { + "reference": { + "language": "LIonCore-M3", + "version": "1", + "key": "Property-type" + }, + "targets": [ + { + "resolveInfo": "String", + "reference": "LIonCore-builtins-String" + } + ] + } + ], + "annotations": [], + "parent": "separateIface-id" } ] } \ No newline at end of file diff --git a/testset/withLanguage/valid/properties/inheritance/direct1stIface.json b/testset/withLanguage/valid/properties/inheritance/direct1stIface.json new file mode 100644 index 0000000..5396798 --- /dev/null +++ b/testset/withLanguage/valid/properties/inheritance/direct1stIface.json @@ -0,0 +1,33 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "mySubConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "combinedIface-ifaceStringProp" + }, + "value": "" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/withLanguage/valid/properties/inheritance/direct2ndIface.json b/testset/withLanguage/valid/properties/inheritance/direct2ndIface.json new file mode 100644 index 0000000..504e3dd --- /dev/null +++ b/testset/withLanguage/valid/properties/inheritance/direct2ndIface.json @@ -0,0 +1,33 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "mySubConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "separateIface-ifaceStringProp" + }, + "value": "" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/withLanguage/valid/properties/inheritance/directSuper1stIface.json b/testset/withLanguage/valid/properties/inheritance/directSuper1stIface.json new file mode 100644 index 0000000..28ac54e --- /dev/null +++ b/testset/withLanguage/valid/properties/inheritance/directSuper1stIface.json @@ -0,0 +1,33 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "mySubConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "subIface-ifaceStringProp" + }, + "value": "" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/withLanguage/valid/properties/inheritance/directSuper2ndIface.json b/testset/withLanguage/valid/properties/inheritance/directSuper2ndIface.json new file mode 100644 index 0000000..aa44a64 --- /dev/null +++ b/testset/withLanguage/valid/properties/inheritance/directSuper2ndIface.json @@ -0,0 +1,33 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "mySubConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "otherIface-ifaceStringProp" + }, + "value": "" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/withLanguage/valid/properties/inheritance/directSuperConcept.json b/testset/withLanguage/valid/properties/inheritance/directSuperConcept.json new file mode 100644 index 0000000..fe43e66 --- /dev/null +++ b/testset/withLanguage/valid/properties/inheritance/directSuperConcept.json @@ -0,0 +1,33 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "mySubConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "myConcept-stringProp" + }, + "value": "" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/withLanguage/valid/properties/inheritance/indirectSuperConcept.json b/testset/withLanguage/valid/properties/inheritance/indirectSuperConcept.json new file mode 100644 index 0000000..123e02f --- /dev/null +++ b/testset/withLanguage/valid/properties/inheritance/indirectSuperConcept.json @@ -0,0 +1,33 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "mySubSubConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "myConcept-stringProp" + }, + "value": "" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file diff --git a/testset/withLanguage/valid/properties/inheritance/indirectSuperIface.json b/testset/withLanguage/valid/properties/inheritance/indirectSuperIface.json new file mode 100644 index 0000000..705a055 --- /dev/null +++ b/testset/withLanguage/valid/properties/inheritance/indirectSuperIface.json @@ -0,0 +1,33 @@ +{ + "serializationFormatVersion": "1", + "languages": [ + { + "key": "myLang", + "version": "1" + } + ], + "nodes": [ + { + "id": "a", + "concept": { + "language": "myLang", + "version": "1", + "key": "mySubConcept" + }, + "properties": [ + { + "property": { + "language": "myLang", + "version": "1", + "key": "myIface-ifaceStringProp" + }, + "value": "" + } + ], + "children": [], + "references": [], + "annotations": [], + "parent": null + } + ] +} \ No newline at end of file