View | Details | Raw Unified | Return to bug 125825 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/ui/workbench/texteditor/tests/StringsTest.java (+153 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2006 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials 
4
 * are made available under the terms of the Common Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/cpl-v10.html
7
 * 
8
 * Contributors:
9
 *     Sebastian Davids <sdavids@gmx.de> - initial API and implementation
10
 *******************************************************************************/
11
package org.eclipse.ui.workbench.texteditor.tests;
12
13
import org.eclipse.ui.internal.texteditor.Strings;
14
15
import junit.framework.TestCase;
16
17
public class StringsTest extends TestCase {
18
19
	private static final String[][] CAPITALIZE_TESTS = new String[][] {
20
			{ null, null }, { "", "" }, { " ", " " }, { "\t", "\t" },
21
			{ "A", "a" }, { "A", "A" }, { "SS", "§" }, { "Ab", "ab" },
22
			{ "Ab", "Ab" }, { "1a", "1a" }, { "$a", "$a" }, { " A", " a" },
23
			{ " A", " A" }, { " Ab", " ab" }, { " 1a", " 1a" },
24
			{ " SS", " §" }, { "A ", "a " }, { "SS ", "§ " }, { "A ", "A " },
25
			{ " $a", " $a" }, { "\tA", "\ta" }, { "A\t", "a\t" },
26
			{ "\t1ab", "\t1ab" }, { " A\tBa SSd", " a\tba §d" } };
27
28
	private static final String[][] CONSTANT_CASE_TESTS = new String[][] {
29
			{ null, null }, { "", "" }, { " ", " " }, { "\t", "\t" },
30
			{ "A", "a" }, { "A", "A" }, { "SS", "§" }, { "AB", "ab" },
31
			{ "AB", "Ab" }, { "1A", "1a" }, { "$A", "$a" }, { "A_B", "aB" },
32
			{ "_AB", "_ab" }, { "_A_B", "_aB" }, { "ABC", "abc" },
33
			{ "A_BC", "aBc" }, { "A_B_C", "aBC" },
34
			{ "TO_CONSTANT_CASE", "toConstantCase" },
35
			{ "NO_LEADING_UNDERSCORE", "NoLeadingUnderscore" },
36
			{ "__SOME_EXTRA___UNDERSCORES_", "__someExtra__Underscores_" } };
37
38
	private static final String[][] INVERT_TESTS = new String[][] {
39
			{ null, null }, { "", "" }, { " ", " " }, { "\t", "\t" },
40
			{ "&abc1", "&ABC1" }, { "a", "A" }, { "B", "b" }, { "aa", "AA" },
41
			{ "BB", "bb" }, { "aB", "Ab" }, { "Ab", "aB" }, { "aBa", "AbA" },
42
			{ "AbA", "aBa" }, { "aaB", "AAb" }, { "AAb", "aaB" },
43
			{ "aBB", "Abb" }, { "Abb", "aBB" }, { "Masse", "mASSE" },
44
			{ "mASSE", "Ma§e" }, { "&SS…\t\";aŸ4", "&§š\t\";A†4" } };
45
46
	private static final String[][] LOWER_CAMEL_TESTS = { { null, null, },
47
			{ "", "" }, { " ", " " }, { "\t", "\t" }, { "a", "a" },
48
			{ "a", "A" }, { "1", "1" }, { "Š", "Š" }, { "Š", "€" },
49
			{ "&", "&" }, { "ab", "ab" }, { "ab", "aB" }, { "ab", "Ab" },
50
			{ "ab", "AB" }, { "_", "_" }, { "__", "__" }, { "___", "___" },
51
			{ "a_", "a_" }, { "a__", "a__" }, { "a___", "a___" },
52
			{ "a_", "A_" }, { "a__", "A__" }, { "a___", "A___" },
53
			{ "ab_", "ab_" }, { "ab__", "ab__" }, { "ab___", "ab___" },
54
			{ "ab_", "Ab_" }, { "ab__", "Ab__" }, { "ab___", "Ab___" },
55
			{ "ab_", "aB_" }, { "ab__", "aB__" }, { "ab___", "aB___" },
56
			{ "ab_", "AB_" }, { "ab__", "AB__" }, { "ab___", "AB___" },
57
			{ "a", "_a" }, { "_A", "__a" }, { "__A", "___a" }, { "a", "_A" },
58
			{ "_A", "__A" }, { "__A", "___A" }, { "_Ab", "__ab" },
59
			{ "__Ab", "___ab" }, { "ab", "_Ab" }, { "_Ab", "__Ab" },
60
			{ "__Ab", "___Ab" }, { "ab", "_aB" }, { "_Ab", "__aB" },
61
			{ "__Ab", "___aB" }, { "ab", "_AB" }, { "_Ab", "__AB" },
62
			{ "__Ab", "___AB" }, { "aA", "a_a" }, { "aA", "a_A" },
63
			{ "aA", "A_a" }, { "aA", "A_A" }, { "a_A", "a__a" },
64
			{ "a_A", "a__A" }, { "a_A", "A__a" }, { "a_A", "A__A" },
65
			{ "a__A", "a___a" }, { "a__A", "a___A" }, { "a__A", "A___a" },
66
			{ "a__A", "A___A" }, { "abA", "ab_a" }, { "abA", "ab_A" },
67
			{ "abA", "Ab_a" }, { "abA", "Ab_A" }, { "abA", "aB_a" },
68
			{ "abA", "aB_A" }, { "abA", "AB_a" }, { "abA", "AB_A" },
69
			{ "aAb", "a_ab" }, { "aAb", "a_Ab" }, { "aAb", "A_ab" },
70
			{ "aAb", "A_Ab" }, { "aAb", "a_aB" }, { "aAb", "a_AB" },
71
			{ "aAb", "A_aB" }, { "aAb", "A_AB" }, { "aAA", "a_a_a" },
72
			{ "aAA", "a_A_A" }, { "aAA", "A_a_a" }, { "aAA", "A_A_A" },
73
			{ "aAbA", "a_ab_a" }, { "aAbA", "a_Ab_a" }, { "aAbA", "a_aB_a" },
74
			{ "aAbA", "a_AB_a" }, { "aAAb", "a_a_ab" }, { "aAAb", "a_a_Ab" },
75
			{ "aAAb", "a_a_aB" }, { "aAAb", "a_a_AB" },
76
			{ "iAmOneLongTest", "I_AM_ONE_LONG_TEST" },
77
			{ "iAmOneLongTest", "i_am_one_long_test" },
78
			{ "toLowerCamelCase", "TO_LOWER_CAMEL_CASE" },
79
			{ "leading", "_Leading" },
80
			{ "_Someextra_Underscores_", "__someExtra__underscores_" } };
81
82
	private static final String[][] UPPER_CAMEL_TESTS = { { null, null, },
83
			{ "", "" }, { " ", " " }, { "\t", "\t" }, { "A", "a" },
84
			{ "A", "A" }, { "1", "1" }, { "€", "Š" }, { "€", "€" },
85
			{ "&", "&" }, { "Ab", "ab" }, { "Ab", "aB" }, { "Ab", "Ab" },
86
			{ "Ab", "AB" }, { "_", "_" }, { "__", "__" }, { "___", "___" },
87
			{ "A_", "a_" }, { "A__", "a__" }, { "A___", "a___" },
88
			{ "A_", "A_" }, { "A__", "A__" }, { "A___", "A___" },
89
			{ "Ab_", "ab_" }, { "Ab__", "ab__" }, { "Ab___", "ab___" },
90
			{ "Ab_", "Ab_" }, { "Ab__", "Ab__" }, { "Ab___", "Ab___" },
91
			{ "Ab_", "aB_" }, { "Ab__", "aB__" }, { "Ab___", "aB___" },
92
			{ "Ab_", "AB_" }, { "Ab__", "AB__" }, { "Ab___", "AB___" },
93
			{ "A", "_a" }, { "_A", "__a" }, { "__A", "___a" }, { "A", "_A" },
94
			{ "_A", "__A" }, { "__A", "___A" }, { "_Ab", "__ab" },
95
			{ "__Ab", "___ab" }, { "Ab", "_Ab" }, { "_Ab", "__Ab" },
96
			{ "__Ab", "___Ab" }, { "Ab", "_aB" }, { "_Ab", "__aB" },
97
			{ "__Ab", "___aB" }, { "Ab", "_AB" }, { "_Ab", "__AB" },
98
			{ "__Ab", "___AB" }, { "AA", "a_a" }, { "AA", "a_A" },
99
			{ "AA", "A_a" }, { "AA", "A_A" }, { "A_A", "a__a" },
100
			{ "A_A", "a__A" }, { "A_A", "A__a" }, { "A_A", "A__A" },
101
			{ "A__A", "a___a" }, { "A__A", "a___A" }, { "A__A", "A___a" },
102
			{ "A__A", "A___A" }, { "AbA", "ab_a" }, { "AbA", "ab_A" },
103
			{ "AbA", "Ab_a" }, { "AbA", "Ab_A" }, { "AbA", "aB_a" },
104
			{ "AbA", "aB_A" }, { "AbA", "AB_a" }, { "AbA", "AB_A" },
105
			{ "AAb", "a_ab" }, { "AAb", "a_Ab" }, { "AAb", "A_ab" },
106
			{ "AAb", "A_Ab" }, { "AAb", "a_aB" }, { "AAb", "a_AB" },
107
			{ "AAb", "A_aB" }, { "AAb", "A_AB" }, { "AAA", "a_a_a" },
108
			{ "AAA", "a_A_A" }, { "AAA", "A_a_a" }, { "AAA", "A_A_A" },
109
			{ "AAbA", "a_ab_a" }, { "AAbA", "a_Ab_a" }, { "AAbA", "a_aB_a" },
110
			{ "AAbA", "a_AB_a" }, { "AAAb", "a_a_ab" }, { "AAAb", "a_a_Ab" },
111
			{ "AAAb", "a_a_aB" }, { "AAAb", "a_a_AB" },
112
			{ "IAmOneLongTest", "I_AM_ONE_LONG_TEST" },
113
			{ "IAmOneLongTest", "i_am_one_long_test" },
114
			{ "ToUpperCamelCase", "TO_UPPER_CAMEL_CASE" },
115
			{ "Leading", "_leading" },
116
			{ "_Someextra_Underscores_", "__someExtra__underscores_" } };
117
118
	public void testCapitalize() {
119
		for (int i = 0; i < CAPITALIZE_TESTS.length; i++)
120
			assertEquals(String.valueOf(i), CAPITALIZE_TESTS[i][0], Strings
121
					.capitalize(CAPITALIZE_TESTS[i][1]));
122
	}
123
124
	public void testConstantCase() {
125
		for (int i = 0; i < CONSTANT_CASE_TESTS.length; i++)
126
			assertEquals(String.valueOf(i), CONSTANT_CASE_TESTS[i][0], Strings
127
					.constantCase(CONSTANT_CASE_TESTS[i][1]));
128
	}
129
130
	public void testInvertCase() {
131
		for (int i = 0; i < INVERT_TESTS.length; i++)
132
			assertEquals(String.valueOf(i), INVERT_TESTS[i][0], Strings
133
					.invertCase(INVERT_TESTS[i][1]));
134
	}
135
136
	public void testLowerCamelCase() {
137
		for (int i = 0; i < LOWER_CAMEL_TESTS.length; i++) {
138
			String expected = LOWER_CAMEL_TESTS[i][0];
139
			CharSequence value = Strings
140
					.lowerCamelCase(LOWER_CAMEL_TESTS[i][1]);
141
			assertEquals(Integer.toString(i), expected, value);
142
		}
143
	}
144
145
	public void testUpperCamelCase() {
146
		for (int i = 0; i < UPPER_CAMEL_TESTS.length; i++) {
147
			String expected = UPPER_CAMEL_TESTS[i][0];
148
			CharSequence value = Strings
149
					.upperCamelCase(UPPER_CAMEL_TESTS[i][1]);
150
			assertEquals(Integer.toString(i), expected, value);
151
		}
152
	}
153
}

Return to bug 125825