5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /**
25 * @test
26 * @summary Basic isEmpty functionality
27 * @bug 6189137
28 */
29
30 public class IsEmpty {
31 private static String [] tests = { "", " ", "a",
32 "It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way- in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only. -- Charles Dickens, Tale of Two Cities"
33 };
34
35 public static void main(String [] args) {
36 for (int i = 0; i < tests.length; i++) {
37 String s = tests[i];
38 int len = s.length();
39 boolean empty = s.isEmpty();
40
41 if ((len != 0 && empty) || (len == 0 && !empty))
42 throw new RuntimeException("String \"" + s + "\": "
43 + " isEmpty = " + empty
44 + ", length = " + len);
45 }
46 }
47 }
|
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /**
25 * @test @summary Basic subSequence functionality.
26 * @bug 7197183
27 */
28 public class SubSequence {
29
30 private final static String[] TESTS = {"", "0", "0123456789"};
31
32 public static void test(String testString) {
33 // empty subsequences
34 CharSequence subSequence = testString.subSequence(0, 0);
35 if (subSequence.length() != 0) {
36 throw new RuntimeException("not empty");
37 }
38 if (0 != subSequence.hashCode()) {
39 throw new RuntimeException("bad hashCode");
40 }
41
42 // single char sub-sequences
43 for (int each = 0; each < testString.length(); each++) {
44 subSequence = testString.subSequence(each, each + 1);
45 String subString = testString.substring(each, each + 1);
46
47 if (subSequence.length() != subString.length()) {
48 throw new RuntimeException("wrong length");
49 }
50
51 if (subSequence.charAt(0) != testString.charAt(each)) {
52 throw new RuntimeException("wrong char" + subSequence.charAt(0) + "!=" + testString.charAt(each));
53 }
54
55 if (subString.hashCode() != subSequence.hashCode()) {
56 throw new RuntimeException("bad hashCode " + subString.hashCode() + " != " + subSequence.hashCode());
57 }
58 if (!subSequence.equals(subString)) {
59 throw new RuntimeException("not equal");
60 }
61 if (!subString.equals(subSequence)) {
62 throw new RuntimeException("not equal");
63 }
64 if (!subString.equals(subSequence.toString())) {
65 throw new RuntimeException("not equal");
66 }
67 }
68
69 subSequence = testString.subSequence(testString.length(), testString.length());
70 if (subSequence.length() != 0) {
71 throw new RuntimeException("not empty");
72 }
73 if (0 != subSequence.hashCode()) {
74 throw new RuntimeException("bad hashCode");
75 }
76
77 // full length sub-sequence
78 subSequence = testString.subSequence(0, testString.length());
79 if (testString.length() != subSequence.length()) {
80 throw new RuntimeException("wrong length");
81 }
82 if (testString.hashCode() != subSequence.hashCode()) {
83 throw new RuntimeException("bad hashCode");
84 }
85 if (!subSequence.equals(testString)) {
86 throw new RuntimeException("not equal");
87 }
88 if (!testString.equals(subSequence)) {
89 throw new RuntimeException("not equal");
90 }
91 if (!testString.equals(subSequence.toString())) {
92 throw new RuntimeException("not equal");
93 }
94 }
95
96 public static void main(String[] args) {
97 for (String each : TESTS) {
98 try {
99 System.out.println("Test : \"" + each + "\"");
100 test(each);
101 } catch (Throwable all) {
102 throw new AssertionError("Failed testing : \"" + each + "\"", all);
103 }
104 }
105 }
106 }
|