diff options
author | Elliott Hughes <enh@google.com> | 2014-06-27 00:12:29 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-06-27 00:12:29 +0000 |
commit | f3e0201df6de099b6cbf61cc9595399087772a7b (patch) | |
tree | 0fe9456cf43271bf8bf4ce08c7e9b42d53e87f09 /luni/src/test/java | |
parent | c880d337f6c26d89e8511a1f7b002a0a03554850 (diff) | |
parent | b33c48b4228c2bf3bd3ffbb7e80122b3f6dff928 (diff) | |
download | libcore-f3e0201df6de099b6cbf61cc9595399087772a7b.zip libcore-f3e0201df6de099b6cbf61cc9595399087772a7b.tar.gz libcore-f3e0201df6de099b6cbf61cc9595399087772a7b.tar.bz2 |
am b33c48b4: am 906d1caa: Merge "Clarify the String.compareTo contract and add tests."
* commit 'b33c48b4228c2bf3bd3ffbb7e80122b3f6dff928':
Clarify the String.compareTo contract and add tests.
Diffstat (limited to 'luni/src/test/java')
-rw-r--r-- | luni/src/test/java/libcore/java/lang/StringTest.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/luni/src/test/java/libcore/java/lang/StringTest.java b/luni/src/test/java/libcore/java/lang/StringTest.java index 7df852e..bf162e5 100644 --- a/luni/src/test/java/libcore/java/lang/StringTest.java +++ b/luni/src/test/java/libcore/java/lang/StringTest.java @@ -376,4 +376,71 @@ public class StringTest extends TestCase { assertEquals("[-77, -10, -64, -76]", Arrays.toString("出来".getBytes("gbk"))); assertEquals("[-77, -10]", Arrays.toString("出".getBytes("gbk"))); } + + public void test_compareTo() throws Exception { + // For strings where a character differs, the result is + // the difference between the characters. + assertEquals(-1, "a".compareTo("b")); + assertEquals(-2, "a".compareTo("c")); + assertEquals(1, "b".compareTo("a")); + assertEquals(2, "c".compareTo("a")); + + // For strings where the characters match up to the length of the shorter, + // the result is the difference between the strings' lengths. + assertEquals(0, "a".compareTo("a")); + assertEquals(-1, "a".compareTo("aa")); + assertEquals(-1, "a".compareTo("az")); + assertEquals(-2, "a".compareTo("aaa")); + assertEquals(-2, "a".compareTo("azz")); + assertEquals(-3, "a".compareTo("aaaa")); + assertEquals(-3, "a".compareTo("azzz")); + assertEquals(0, "a".compareTo("a")); + assertEquals(1, "aa".compareTo("a")); + assertEquals(1, "az".compareTo("a")); + assertEquals(2, "aaa".compareTo("a")); + assertEquals(2, "azz".compareTo("a")); + assertEquals(3, "aaaa".compareTo("a")); + assertEquals(3, "azzz".compareTo("a")); + } + + public void test_compareToIgnoreCase() throws Exception { + // For strings where a character differs, the result is + // the difference between the characters. + assertEquals(-1, "a".compareToIgnoreCase("b")); + assertEquals(-1, "a".compareToIgnoreCase("B")); + assertEquals(-2, "a".compareToIgnoreCase("c")); + assertEquals(-2, "a".compareToIgnoreCase("C")); + assertEquals(1, "b".compareToIgnoreCase("a")); + assertEquals(1, "B".compareToIgnoreCase("a")); + assertEquals(2, "c".compareToIgnoreCase("a")); + assertEquals(2, "C".compareToIgnoreCase("a")); + + // For strings where the characters match up to the length of the shorter, + // the result is the difference between the strings' lengths. + assertEquals(0, "a".compareToIgnoreCase("a")); + assertEquals(0, "a".compareToIgnoreCase("A")); + assertEquals(0, "A".compareToIgnoreCase("a")); + assertEquals(0, "A".compareToIgnoreCase("A")); + assertEquals(-1, "a".compareToIgnoreCase("aa")); + assertEquals(-1, "a".compareToIgnoreCase("aA")); + assertEquals(-1, "a".compareToIgnoreCase("Aa")); + assertEquals(-1, "a".compareToIgnoreCase("az")); + assertEquals(-1, "a".compareToIgnoreCase("aZ")); + assertEquals(-2, "a".compareToIgnoreCase("aaa")); + assertEquals(-2, "a".compareToIgnoreCase("AAA")); + assertEquals(-2, "a".compareToIgnoreCase("azz")); + assertEquals(-2, "a".compareToIgnoreCase("AZZ")); + assertEquals(-3, "a".compareToIgnoreCase("aaaa")); + assertEquals(-3, "a".compareToIgnoreCase("AAAA")); + assertEquals(-3, "a".compareToIgnoreCase("azzz")); + assertEquals(-3, "a".compareToIgnoreCase("AZZZ")); + assertEquals(1, "aa".compareToIgnoreCase("a")); + assertEquals(1, "aA".compareToIgnoreCase("a")); + assertEquals(1, "Aa".compareToIgnoreCase("a")); + assertEquals(1, "az".compareToIgnoreCase("a")); + assertEquals(2, "aaa".compareToIgnoreCase("a")); + assertEquals(2, "azz".compareToIgnoreCase("a")); + assertEquals(3, "aaaa".compareToIgnoreCase("a")); + assertEquals(3, "azzz".compareToIgnoreCase("a")); + } } |