Skip to content

Commit 62ddd4b

Browse files
author
Saldanha
committed
SPARK-4459 added failing unit test
1 parent 0f3ceb5 commit 62ddd4b

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

core/src/test/java/org/apache/spark/JavaAPISuite.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,27 @@ public Boolean call(Integer x) {
322322
Assert.assertEquals(2, Iterables.size(oddsAndEvens.lookup(true).get(0))); // Evens
323323
Assert.assertEquals(5, Iterables.size(oddsAndEvens.lookup(false).get(0))); // Odds
324324
}
325+
326+
@Test
327+
public void groupByOnPairRDD() {
328+
JavaRDD<Integer> rdd = sc.parallelize(Arrays.asList(1, 1, 2, 3, 5, 8, 13));
329+
Function<scala.Tuple2<Integer, Integer>, Boolean> areOdd = new Function<scala.Tuple2<Integer, Integer>, Boolean>() {
330+
@Override
331+
public Boolean call(scala.Tuple2<Integer, Integer> x) {
332+
return x._1 % 2 == 0 && x._2 % 2 == 0;
333+
}
334+
};
335+
JavaPairRDD<Integer, Integer> pairrdd = rdd.zip(rdd);
336+
JavaPairRDD<Boolean, Iterable<scala.Tuple2<Integer, Integer>>> oddsAndEvens = pairrdd.groupBy(areOdd);
337+
Assert.assertEquals(2, oddsAndEvens.count());
338+
Assert.assertEquals(2, Iterables.size(oddsAndEvens.lookup(true).get(0))); // Evens
339+
Assert.assertEquals(5, Iterables.size(oddsAndEvens.lookup(false).get(0))); // Odds
340+
341+
oddsAndEvens = pairrdd.groupBy(areOdd, 1);
342+
Assert.assertEquals(2, oddsAndEvens.count());
343+
Assert.assertEquals(2, Iterables.size(oddsAndEvens.lookup(true).get(0))); // Evens
344+
Assert.assertEquals(5, Iterables.size(oddsAndEvens.lookup(false).get(0))); // Odds
345+
}
325346

326347
@SuppressWarnings("unchecked")
327348
@Test

0 commit comments

Comments
 (0)