diff --git a/sdmx30-infomodel/src/main/java/com/epam/jsdmx/infomodel/sdmx30/IdentifiableArtefactReferenceImpl.java b/sdmx30-infomodel/src/main/java/com/epam/jsdmx/infomodel/sdmx30/IdentifiableArtefactReferenceImpl.java index 8968f03..5a05d55 100644 --- a/sdmx30-infomodel/src/main/java/com/epam/jsdmx/infomodel/sdmx30/IdentifiableArtefactReferenceImpl.java +++ b/sdmx30-infomodel/src/main/java/com/epam/jsdmx/infomodel/sdmx30/IdentifiableArtefactReferenceImpl.java @@ -121,6 +121,7 @@ public IdentifiableArtefactReferenceImpl clone() { @Override public String toString() { - return super.toString(); + String superString = super.toString(); + return superString + "." + itemId; } } diff --git a/sdmx30-infomodel/src/test/java/com/epam/jsdmx/infomodel/sdmx30/IdentifiableArtefactReferenceImplTest.java b/sdmx30-infomodel/src/test/java/com/epam/jsdmx/infomodel/sdmx30/IdentifiableArtefactReferenceImplTest.java new file mode 100644 index 0000000..5bd9e2d --- /dev/null +++ b/sdmx30-infomodel/src/test/java/com/epam/jsdmx/infomodel/sdmx30/IdentifiableArtefactReferenceImplTest.java @@ -0,0 +1,20 @@ +package com.epam.jsdmx.infomodel.sdmx30; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; + +class IdentifiableArtefactReferenceImplTest { + @Test + void testToString_happy() { + var subject = new IdentifiableArtefactReferenceImpl("id", "organisation", "1.0.0", StructureClassImpl.CONCEPT, "itemId"); + + Assertions.assertThat(subject.toString()).isEqualTo("Concept=organisation:id(1.0.0).itemId"); + } + + @Test + void testToString_itemIdIsNull() { + var subject = new IdentifiableArtefactReferenceImpl("id", "organisation", "1.0.0", StructureClassImpl.CONCEPT, null); + + Assertions.assertThat(subject.toString()).isEqualTo("Concept=organisation:id(1.0.0).null"); + } +} \ No newline at end of file