Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/NameToolsTests.java')
-rw-r--r--jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/NameToolsTests.java214
1 files changed, 214 insertions, 0 deletions
diff --git a/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/NameToolsTests.java b/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/NameToolsTests.java
new file mode 100644
index 0000000000..164fa49e03
--- /dev/null
+++ b/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/NameToolsTests.java
@@ -0,0 +1,214 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2007 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.utility.tests.internal;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import junit.framework.TestCase;
+import org.eclipse.jpt.utility.internal.CollectionTools;
+import org.eclipse.jpt.utility.internal.NameTools;
+
+public class NameToolsTests extends TestCase {
+
+ public NameToolsTests(String name) {
+ super(name);
+ }
+
+ public void testStringAbsentIgnoreCase() {
+ List<String> colorCollection = this.buildColorCollection();
+ String returned = NameTools.uniqueNameForIgnoreCase("Taupe", colorCollection);
+ assertEquals("Taupe", returned);
+ }
+
+ public void testStringPresentCaseDiffers() {
+ List<String> colorCollection = this.buildColorCollection();
+ String returned = NameTools.uniqueNameFor("green", colorCollection);
+ assertEquals("green", returned);
+ }
+
+ public void testStringPresentIgnoreCase() {
+ List<String> colorCollection = this.buildColorCollection();
+ String returned = NameTools.uniqueNameForIgnoreCase("green", colorCollection);
+ assertEquals("green2", returned);
+ }
+
+ public void testStringPresentWithAppendices() {
+ List<String> colorCollection = this.buildColorCollection();
+ colorCollection.add("Red1");
+ colorCollection.add("red2");
+ String returned = NameTools.uniqueNameForIgnoreCase("red", colorCollection);
+ colorCollection.remove("Red1");
+ colorCollection.remove("red2");
+ assertEquals("red3", returned);
+ }
+
+ private List<String> buildColorCollection() {
+ List<String> colorCollection = new ArrayList<String>();
+ colorCollection.add("Red");
+ colorCollection.add("Orange");
+ colorCollection.add("Yellow");
+ colorCollection.add("Green");
+ colorCollection.add("Blue");
+ colorCollection.add("Indigo");
+ colorCollection.add("Violet");
+ return colorCollection;
+ }
+
+ public void testUniqueNameForCollection1() {
+ Collection<String> strings = new ArrayList<String>();
+ strings.add("Oracle");
+ strings.add("Oracle Corporation");
+ strings.add("Oracle2");
+ strings.add("oracle1");
+ strings.add("Oracl");
+
+ assertEquals("Oracle3", NameTools.uniqueNameFor("Oracle", strings));
+ assertEquals("Test", NameTools.uniqueNameFor("Test", strings));
+
+ assertEquals("Oracle3", NameTools.uniqueNameForIgnoreCase("Oracle", strings));
+ assertEquals("oracle3", NameTools.uniqueNameForIgnoreCase("oracle", strings));
+ assertEquals("Test", NameTools.uniqueNameForIgnoreCase("Test", strings));
+ }
+
+ public void testUniqueNameForCollection2() {
+ Collection<String> strings = new ArrayList<String>();
+ strings.add("Oracle");
+ strings.add("oracle");
+ strings.add("Oracle2");
+ strings.add("Oracle1");
+
+ assertEquals("Oracle3", NameTools.uniqueNameFor("Oracle", strings));
+ assertEquals("Test", NameTools.uniqueNameFor("Test", strings));
+
+ strings.add("Oracle Corporation");
+ assertEquals("Oracle3", NameTools.uniqueNameForIgnoreCase("Oracle", strings));
+ assertEquals("oracle3", NameTools.uniqueNameForIgnoreCase("oracle", strings));
+ assertEquals("Test", NameTools.uniqueNameForIgnoreCase("Test", strings));
+ }
+
+ public void testUniqueNameForCollection3() {
+ Collection<String> strings = new ArrayList<String>();
+ strings.add("Oracle");
+ strings.add("Oracle");
+ strings.add("Oracle2");
+ strings.add("Oracle1");
+
+ assertEquals("Oracle3", NameTools.uniqueNameFor("Oracle", strings));
+ }
+
+ public void testUniqueNameForIterator1() {
+ Collection<String> strings = new ArrayList<String>();
+ strings.add("Oracle");
+ strings.add("Oracle Corporation");
+ strings.add("Oracle2");
+ strings.add("oracle1");
+ strings.add("Oracl");
+
+ assertEquals("Oracle3", NameTools.uniqueNameFor("Oracle", strings.iterator()));
+ assertEquals("Test", NameTools.uniqueNameFor("Test", strings.iterator()));
+
+ assertEquals("Oracle3", NameTools.uniqueNameForIgnoreCase("Oracle", strings.iterator()));
+ assertEquals("oracle3", NameTools.uniqueNameForIgnoreCase("oracle", strings.iterator()));
+ assertEquals("Test", NameTools.uniqueNameForIgnoreCase("Test", strings.iterator()));
+ }
+
+ public void testUniqueNameForIterator2() {
+ Collection<String> strings = new ArrayList<String>();
+ strings.add("Oracle");
+ strings.add("oracle");
+ strings.add("Oracle2");
+ strings.add("Oracle1");
+
+ assertEquals("Oracle3", NameTools.uniqueNameFor("Oracle", strings.iterator()));
+ assertEquals("Test", NameTools.uniqueNameFor("Test", strings.iterator()));
+
+ strings.add("Oracle Corporation");
+ assertEquals("Oracle3", NameTools.uniqueNameForIgnoreCase("Oracle", strings.iterator()));
+ assertEquals("oracle3", NameTools.uniqueNameForIgnoreCase("oracle", strings.iterator()));
+ assertEquals("Test", NameTools.uniqueNameForIgnoreCase("Test", strings.iterator()));
+ }
+
+ public void testUniqueNameForIterator3() {
+ Collection<String> strings = new ArrayList<String>();
+ strings.add("Oracle");
+ strings.add("Oracle");
+ strings.add("Oracle2");
+ strings.add("Oracle1");
+
+ assertEquals("Oracle3", NameTools.uniqueNameFor("Oracle", strings.iterator()));
+ }
+
+ public void testUniqueJavaNameForCollection() {
+ Collection<String> strings = new ArrayList<String>();
+ strings.add("Oracle");
+ strings.add("Oracle");
+ strings.add("Oracle2");
+ strings.add("Oracle1");
+
+ assertEquals("private2", NameTools.uniqueJavaNameFor("private", strings.iterator()));
+ assertEquals("class2", NameTools.uniqueJavaNameFor("class", strings.iterator()));
+ }
+
+ public void testBuildQualifiedDatabaseObjectName() {
+ assertEquals("catalog.schema.name", NameTools.buildQualifiedDatabaseObjectName("catalog", "schema", "name"));
+ assertEquals("catalog..name", NameTools.buildQualifiedDatabaseObjectName("catalog", null, "name"));
+ assertEquals("schema.name", NameTools.buildQualifiedDatabaseObjectName(null, "schema", "name"));
+ assertEquals("name", NameTools.buildQualifiedDatabaseObjectName(null, null, "name"));
+ }
+
+ public void testJavaReservedWords() {
+ assertTrue(CollectionTools.contains(NameTools.javaReservedWords(), "class"));
+ assertFalse(CollectionTools.contains(NameTools.javaReservedWords(), "Class"));
+ assertTrue(CollectionTools.contains(NameTools.javaReservedWords(), "private"));
+ }
+
+ public void testconvertToJavaIdentifierString() {
+ assertEquals("foo", NameTools.convertToJavaIdentifier("foo"));
+ assertEquals("foo1", NameTools.convertToJavaIdentifier("foo1"));
+ assertEquals("Private", NameTools.convertToJavaIdentifier("private"));
+ assertEquals("_foo", NameTools.convertToJavaIdentifier("1foo"));
+ assertEquals("foo_", NameTools.convertToJavaIdentifier("foo%"));
+ assertEquals("foo__bar__", NameTools.convertToJavaIdentifier("foo bar "));
+ }
+
+ public void testconvertToJavaIdentifierStringChar() {
+ assertEquals("foo", NameTools.convertToJavaIdentifier("foo", '$'));
+ assertEquals("foo1", NameTools.convertToJavaIdentifier("foo1", '$'));
+ assertEquals("Private", NameTools.convertToJavaIdentifier("private", '$'));
+ assertEquals("$foo", NameTools.convertToJavaIdentifier("1foo", '$'));
+ assertEquals("foo$", NameTools.convertToJavaIdentifier("foo%", '$'));
+ assertEquals("foo$$bar$$", NameTools.convertToJavaIdentifier("foo bar ", '$'));
+
+ boolean exCaught = false;
+ try {
+ String s = NameTools.convertToJavaIdentifier("1foo", '7');
+ fail("invalid string: \"" + s + "\"");
+ } catch (IllegalArgumentException ex) {
+ if (ex.getMessage().indexOf('7') != -1) {
+ exCaught = true;
+ }
+ }
+ assertTrue(exCaught);
+
+ exCaught = false;
+ try {
+ String s = NameTools.convertToJavaIdentifier("foo%", '^');
+ fail("invalid string: \"" + s + "\"");
+ } catch (IllegalArgumentException ex) {
+ if (ex.getMessage().indexOf('^') != -1) {
+ exCaught = true;
+ }
+ }
+ assertTrue(exCaught);
+
+ }
+
+}

Back to the top