From 199a46584a8d9ab543ac1dd6bb0b505192b64f73 Mon Sep 17 00:00:00 2001
From: kaloyane <kaloyane>
Date: Wed, 22 Jun 2011 14:55:01 +0000
Subject: [PATCH] add test to demonstrate LMS-2330

SVN: 21822
---
 .../common/utilities/StringUtilitiesTest.java | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/StringUtilitiesTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/StringUtilitiesTest.java
index e212805aed6..19893572531 100644
--- a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/StringUtilitiesTest.java
+++ b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/StringUtilitiesTest.java
@@ -19,11 +19,14 @@ package ch.systemsx.cisd.common.utilities;
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertTrue;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
 import org.testng.annotations.Test;
 
+import ch.systemsx.cisd.common.utilities.StringUtilities.IUniquenessChecker;
+
 /**
  * Test cases for the {@link StringUtilities}.
  * 
@@ -100,4 +103,29 @@ public class StringUtilitiesTest
         assertEquals("[abc]", StringUtilities.tokenize("abc").toString());
         assertEquals("[a, b, c, d]", StringUtilities.tokenize(" a,b c\n d ").toString());
     }
+
+    @Test
+    public void testCreateUniqueString()
+    {
+        final String PATTERN_PREFIX = "email";
+        final List<String> existing = new ArrayList<String>();
+        existing.add(PATTERN_PREFIX);
+        for (int i = 0; i < 20; i++)
+        {
+            existing.add(PATTERN_PREFIX + i);
+        }
+
+        String nextUnique =
+                StringUtilities.createUniqueString(PATTERN_PREFIX, new IUniquenessChecker()
+                    {
+
+                        public boolean isUnique(String str)
+                        {
+                            return false == existing.contains(str);
+                        }
+                    });
+
+        // assertEquals("email20", nextUnique);
+        assertEquals("email110", nextUnique);
+    }
 }
-- 
GitLab