From 37abf597b5fa67ed7d6ee0c8ec2346f4b87d532e Mon Sep 17 00:00:00 2001 From: Ioannis Rosuochatzakis Date: Wed, 11 Feb 2026 00:04:27 +0100 Subject: [PATCH] Add tests for codelist identifiers with numeric suffix and regex escapes --- .../ted/efx/mock/sdk2/SymbolResolverMockV2.java | 3 ++- .../ted/efx/sdk2/EfxExpressionTranslatorV2Test.java | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/test/java/eu/europa/ted/efx/mock/sdk2/SymbolResolverMockV2.java b/src/test/java/eu/europa/ted/efx/mock/sdk2/SymbolResolverMockV2.java index 6fbcbb2..99eb757 100644 --- a/src/test/java/eu/europa/ted/efx/mock/sdk2/SymbolResolverMockV2.java +++ b/src/test/java/eu/europa/ted/efx/mock/sdk2/SymbolResolverMockV2.java @@ -70,7 +70,8 @@ private Map createMockCodelists() { return new HashMap<>(Map.ofEntries( buildCodelistMock("accessibility", Optional.empty()), buildCodelistMock("authority-activity", Optional.of("main-activity")), - buildCodelistMock("main-activity", Optional.empty()))); + buildCodelistMock("main-activity", Optional.empty()), + buildCodelistMock("legal-basis-1", Optional.empty()))); } @Override diff --git a/src/test/java/eu/europa/ted/efx/sdk2/EfxExpressionTranslatorV2Test.java b/src/test/java/eu/europa/ted/efx/sdk2/EfxExpressionTranslatorV2Test.java index 329a6de..6528cc5 100644 --- a/src/test/java/eu/europa/ted/efx/sdk2/EfxExpressionTranslatorV2Test.java +++ b/src/test/java/eu/europa/ted/efx/sdk2/EfxExpressionTranslatorV2Test.java @@ -145,6 +145,13 @@ void testLikePatternCondition() { "BT-00-Text", "'123' like '[0-9]*'"); } + @Test + void testLikePatternCondition_WithEscapedDot() { + testExpressionTranslationWithContext( + "fn:matches(normalize-space('12.3'), '\\d+\\.\\d+')", + "BT-00-Text", "'12.3' like '\\d+\\.\\d+'"); + } + @Test void testLikePatternCondition_WithNot() { testExpressionTranslationWithContext("not(fn:matches(normalize-space('123'), '[0-9]*'))", @@ -1125,6 +1132,12 @@ void testCodeList() { "'a' in #accessibility"); } + @Test + void testCodeList_WithNumericSuffix() { + testExpressionTranslationWithContext("'a' = ('code1','code2','code3')", "BT-00-Text", + "'a' in #legal-basis-1"); + } + // #endregion: Lists // #region: References ------------------------------------------------------