You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by qi...@apache.org on 2009/02/10 05:58:23 UTC

svn commit: r742850 - in /harmony/enhanced/classlib/trunk/modules/luni/src: main/java/java/util/Arrays.java test/api/common/org/apache/harmony/luni/tests/java/util/ArraysTest.java

Author: qiuxx
Date: Tue Feb 10 04:58:20 2009
New Revision: 742850

URL: http://svn.apache.org/viewvc?rev=742850&view=rev
Log:
Revert patch at r680223, the testcase is not proper, and this patch will cause new issue described at HARMONY-6076([eut][classlib][luni] - Arrays.sort(T[] a, Comparator<? super T> c)  is not stable)

Modified:
    harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Arrays.java
    harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/ArraysTest.java

Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Arrays.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Arrays.java?rev=742850&r1=742849&r2=742850&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Arrays.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Arrays.java Tue Feb 10 04:58:20 2009
@@ -2520,7 +2520,7 @@
             Object fromVal = in[start];
             Object rVal = in[r];
             if (c.compare(fromVal, rVal) <= 0) {
-                int l_1 = find(in, rVal, 0, start + 1, med - 1, c);
+                int l_1 = find(in, rVal, -1, start + 1, med - 1, c);
                 int toCopy = l_1 - start + 1;
                 System.arraycopy(in, start, out, i, toCopy);
                 i += toCopy;

Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/ArraysTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/ArraysTest.java?rev=742850&r1=742849&r2=742850&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/ArraysTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/ArraysTest.java Tue Feb 10 04:58:20 2009
@@ -1296,8 +1296,7 @@
 	/**
 	 * @tests java.util.Arrays#sort(java.lang.Object[], java.util.Comparator)
 	 */
-    @SuppressWarnings("unchecked")
-    public void test_sort$Ljava_lang_ObjectLjava_util_Comparator() {
+	public void test_sort$Ljava_lang_ObjectLjava_util_Comparator() {
 		// Test for method void java.util.Arrays.sort(java.lang.Object [],
 		// java.util.Comparator)
 		ReversedIntegerComparator comp = new ReversedIntegerComparator();
@@ -1307,52 +1306,6 @@
 					comp
 							.compare(objectArray[counter],
 									objectArray[counter + 1]) <= 0);
-        
-        // Test the sort functionailty with an Integer array
-        int[] original = { 190, 180, 170, 160, 150, 140, 120, 320, 110, 310,
-                100, 300, 290, 280, 270, 260, 250, 240, 230, 210, 200 };
-        Integer[] sorted = { 100, 110, 120, 140, 150, 160, 170, 180, 190, 200,
-                210, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320 };
-
-        Integer[] elements = new Integer[original.length];
-        for (int i=0; i < original.length; i++){
-            elements[i] = new Integer(original[i]);
-        }
-        
-        Comparator normalComparator = new Comparator(){
-            public int compare(Object o1, Object o2) {
-                Integer e1 = (Integer)o1;
-                Integer e2 = (Integer)o2;
-                if (e1 > e2){
-                    return 1;
-                }else if(e1 < e2){
-                    return -1;
-                }else{
-                    return 0;
-                }
-            }
-        };
-        Arrays.sort(elements, normalComparator);
-        // After sorting, elements should be the same as sorted array.
-        for(int i = 0; i < original.length; i++){
-            assertEquals(sorted[i],elements[i]);
-        }
-
-        for (int i=0; i < original.length; i++){
-            elements[i] = new Integer(original[i]);
-        }
-        Comparator comparator = new Comparator(){
-            public int compare(Object o1, Object o2) {
-                Integer e1 = (Integer)o1;
-                Integer e2 = (Integer)o2;
-                return e1 > e2 ? 1 : 0;
-            }
-        };
-        Arrays.sort(elements, comparator);
-        // After sorting, elements should be the same as sorted array.
-        for(int i = 0; i < original.length; i++){
-            assertEquals(sorted[i],elements[i]);
-        }
 	}
 
 	/**