diff --git a/aom/src/main/java/com/nedap/archie/aom/Archetype.java b/aom/src/main/java/com/nedap/archie/aom/Archetype.java index 248835a06..3d3987701 100644 --- a/aom/src/main/java/com/nedap/archie/aom/Archetype.java +++ b/aom/src/main/java/com/nedap/archie/aom/Archetype.java @@ -298,15 +298,15 @@ private String generateNextCode(String prefix, Set usedCodes) { } public String generateNextIdCode() { - return generateNextCode(AdlCodeDefinitions.ID_CODE_LEADER, getUsedIdCodes()); + return generateNextCode(AdlCodeDefinitions.ID_CODE_LEADER, getAllUsedCodes()); } public String generateNextValueCode() { - return generateNextCode(AdlCodeDefinitions.VALUE_CODE_LEADER, getUsedValueCodes()); + return generateNextCode(AdlCodeDefinitions.VALUE_CODE_LEADER, getAllUsedCodes()); } public String generateNextValueSetCode() { - return generateNextCode(AdlCodeDefinitions.VALUE_SET_CODE_LEADER, getUsedValueSetCodes()); + return generateNextCode(AdlCodeDefinitions.VALUE_SET_CODE_LEADER, getAllUsedCodes()); } diff --git a/aom/src/test/java/com/nedap/archie/aom/ArchetypeTest.java b/aom/src/test/java/com/nedap/archie/aom/ArchetypeTest.java index 5d9a05952..7abf13235 100644 --- a/aom/src/test/java/com/nedap/archie/aom/ArchetypeTest.java +++ b/aom/src/test/java/com/nedap/archie/aom/ArchetypeTest.java @@ -16,14 +16,19 @@ public void testGetUsedIdCodes() { @Test public void testLevel0GenerateIdCode() { Archetype archetype = createLevel0Archetype(); + //the generator will generate the same codes until their corresponding objects are added to the archetype assertEquals("id3", archetype.generateNextIdCode()); + assertEquals("at3", archetype.generateNextValueCode()); + assertEquals("ac3", archetype.generateNextValueSetCode()); } @Test public void testLevel1GenerateIdCode() { Archetype archetype = createLevel1Archetype(); + //the generator will generate the same codes until their corresponding objects are added to the archetype assertEquals("id0.3", archetype.generateNextIdCode()); - + assertEquals("at0.3", archetype.generateNextValueCode()); + assertEquals("ac0.3", archetype.generateNextValueSetCode()); } private Archetype createLevel0Archetype() { @@ -55,4 +60,6 @@ private Archetype createLevel1Archetype() { archetype.setDefinition(definition); return archetype; } + + }