aboutsummaryrefslogtreecommitdiff
path: root/core/src/test/scala
diff options
context:
space:
mode:
authorryanlecompte <lecompte@gmail.com>2013-06-12 10:54:16 -0700
committerryanlecompte <lecompte@gmail.com>2013-06-12 10:54:16 -0700
commitdb5bca08ff00565732946a9c0a0244a9f7021d82 (patch)
tree433919cea32f612c76025e079667dcd938e37110 /core/src/test/scala
parentdc4073654b1707f115de30088938f6e53efda0ba (diff)
downloadspark-db5bca08ff00565732946a9c0a0244a9f7021d82.tar.gz
spark-db5bca08ff00565732946a9c0a0244a9f7021d82.tar.bz2
spark-db5bca08ff00565732946a9c0a0244a9f7021d82.zip
add a new top K method to RDD using a bounded priority queue
Diffstat (limited to 'core/src/test/scala')
-rw-r--r--core/src/test/scala/spark/RDDSuite.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/core/src/test/scala/spark/RDDSuite.scala b/core/src/test/scala/spark/RDDSuite.scala
index 3f69e99780..67f3332d44 100644
--- a/core/src/test/scala/spark/RDDSuite.scala
+++ b/core/src/test/scala/spark/RDDSuite.scala
@@ -317,4 +317,23 @@ class RDDSuite extends FunSuite with LocalSparkContext {
assert(sample.size === checkSample.size)
for (i <- 0 until sample.size) assert(sample(i) === checkSample(i))
}
+
+ test("top with predefined ordering") {
+ sc = new SparkContext("local", "test")
+ val nums = Array.range(1, 100000)
+ val ints = sc.makeRDD(scala.util.Random.shuffle(nums), 2)
+ val topK = ints.top(5)
+ assert(topK.size === 5)
+ assert(topK.sorted === nums.sorted.takeRight(5))
+ }
+
+ test("top with custom ordering") {
+ sc = new SparkContext("local", "test")
+ val words = Vector("a", "b", "c", "d")
+ implicit val ord = implicitly[Ordering[String]].reverse
+ val rdd = sc.makeRDD(words, 2)
+ val topK = rdd.top(2)
+ assert(topK.size === 2)
+ assert(topK.sorted === Array("b", "a"))
+ }
}