Skip to content

Commit 196f8a8

Browse files
committed
Add test cases for ranges end with Int.MaxValue or Int.MinValue
1 parent e66e60a commit 196f8a8

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

core/src/test/scala/org/apache/spark/rdd/ParallelCollectionSplitSuite.scala

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,4 +227,26 @@ class ParallelCollectionSplitSuite extends FunSuite with Checkers {
227227
assert(slices.map(_.size).reduceLeft(_+_) === 100)
228228
assert(slices.forall(_.isInstanceOf[NumericRange[_]]))
229229
}
230+
231+
test("inclusive ranges with Int.MaxValue and Int.MinValue") {
232+
val data1 = 1 to Int.MaxValue
233+
val slices1 = ParallelCollectionRDD.slice(data1, 3)
234+
assert(slices1.size === 3)
235+
assert(slices1.map(_.size).sum === Int.MaxValue)
236+
val data2 = -2 to Int.MinValue by -1
237+
val slices2 = ParallelCollectionRDD.slice(data2, 3)
238+
assert(slices2.size == 3)
239+
assert(slices2.map(_.size).sum === Int.MaxValue)
240+
}
241+
242+
test("empty ranges with Int.MaxValue and Int.MinValue") {
243+
val data1 = Int.MaxValue until Int.MaxValue
244+
val slices1 = ParallelCollectionRDD.slice(data1, 5)
245+
assert(slices1.size === 5)
246+
for (i <- 0 until 5) assert(slices1(i).size === 0)
247+
val data2 = Int.MaxValue until Int.MaxValue
248+
val slices2 = ParallelCollectionRDD.slice(data2, 5)
249+
assert(slices2.size === 5)
250+
for (i <- 0 until 5) assert(slices2(i).size === 0)
251+
}
230252
}

0 commit comments

Comments
 (0)