summaryrefslogtreecommitdiffstats
path: root/test-runner/src/junit/runner/Sorter.java
diff options
context:
space:
mode:
authorBrett Chabot <brettchabot@android.com>2010-02-19 10:49:27 -0800
committerBrett Chabot <brettchabot@android.com>2010-02-20 17:29:05 -0800
commite70f61b1160e953e5e4d18d30a463fa9ba821779 (patch)
tree763d50921749fb256c7e2b656db045ee21277b06 /test-runner/src/junit/runner/Sorter.java
parentfda25347b8aaa860e0fdbc972c0f4411c85f8fa3 (diff)
downloadframeworks_base-e70f61b1160e953e5e4d18d30a463fa9ba821779.zip
frameworks_base-e70f61b1160e953e5e4d18d30a463fa9ba821779.tar.gz
frameworks_base-e70f61b1160e953e5e4d18d30a463fa9ba821779.tar.bz2
Retry test-runner tests move.
This time change the frameworks makefile so it only includes test-runner/src in the public API.
Diffstat (limited to 'test-runner/src/junit/runner/Sorter.java')
-rw-r--r--test-runner/src/junit/runner/Sorter.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/test-runner/src/junit/runner/Sorter.java b/test-runner/src/junit/runner/Sorter.java
new file mode 100644
index 0000000..66f551e
--- /dev/null
+++ b/test-runner/src/junit/runner/Sorter.java
@@ -0,0 +1,39 @@
+package junit.runner;
+
+import java.util.*;
+
+import junit.runner.*;
+
+/**
+ * A custom quick sort with support to customize the swap behaviour.
+ * NOTICE: We can't use the the sorting support from the JDK 1.2 collection
+ * classes because of the JDK 1.1.7 compatibility.
+ * {@hide} - Not needed for 1.0 SDK
+ */
+public class Sorter {
+ public static interface Swapper {
+ public void swap(Vector values, int left, int right);
+ }
+
+ public static void sortStrings(Vector values , int left, int right, Swapper swapper) {
+ int oleft= left;
+ int oright= right;
+ String mid= (String)values.elementAt((left + right) / 2);
+ do {
+ while (((String)(values.elementAt(left))).compareTo(mid) < 0)
+ left++;
+ while (mid.compareTo((String)(values.elementAt(right))) < 0)
+ right--;
+ if (left <= right) {
+ swapper.swap(values, left, right);
+ left++;
+ right--;
+ }
+ } while (left <= right);
+
+ if (oleft < right)
+ sortStrings(values, oleft, right, swapper);
+ if (left < oright)
+ sortStrings(values, left, oright, swapper);
+ }
+}