Skip to content
Snippets Groups Projects
Commit 84b3a4a8 authored by Sandeep Singh's avatar Sandeep Singh Committed by Reynold Xin
Browse files

[SPARK-15082][CORE] Improve unit test coverage for AccumulatorV2

## What changes were proposed in this pull request?
Added tests for ListAccumulator and LegacyAccumulatorWrapper, test for ListAccumulator is one similar to old Collection Accumulators

## How was this patch tested?
Ran tests locally.

cc rxin

Author: Sandeep Singh <sandeep@techaddict.me>

Closes #12862 from techaddict/SPARK-15082.
parent 439e3610
No related branches found
No related tags found
No related merge requests found
......@@ -17,7 +17,7 @@
package org.apache.spark.util
import org.apache.spark.SparkFunSuite
import org.apache.spark._
class AccumulatorV2Suite extends SparkFunSuite {
......@@ -86,4 +86,63 @@ class AccumulatorV2Suite extends SparkFunSuite {
assert(acc.sum == 5.0)
assert(acc.avg == 1.25)
}
test("ListAccumulator") {
val acc = new ListAccumulator[Double]
assert(acc.value.isEmpty)
assert(acc.isZero)
acc.add(0.0)
assert(acc.value.contains(0.0))
assert(!acc.isZero)
acc.add(new java.lang.Double(1.0))
val acc2 = acc.copyAndReset()
assert(acc2.value.isEmpty)
assert(acc2.isZero)
assert(acc.value.contains(1.0))
assert(!acc.isZero)
assert(acc.value.size() === 2)
acc2.add(2.0)
assert(acc2.value.contains(2.0))
assert(!acc2.isZero)
assert(acc2.value.size() === 1)
// Test merging
acc.merge(acc2)
assert(acc.value.contains(2.0))
assert(!acc.isZero)
assert(acc.value.size() === 3)
}
test("LegacyAccumulatorWrapper") {
val acc = new LegacyAccumulatorWrapper("default", AccumulatorParam.StringAccumulatorParam)
assert(acc.value === "default")
assert(!acc.isZero)
acc.add("foo")
assert(acc.value === "foo")
assert(!acc.isZero)
acc.add(new java.lang.String("bar"))
val acc2 = acc.copyAndReset()
assert(acc2.value === "")
assert(acc2.isZero)
assert(acc.value === "bar")
assert(!acc.isZero)
acc2.add("baz")
assert(acc2.value === "baz")
assert(!acc2.isZero)
// Test merging
acc.merge(acc2)
assert(acc.value === "baz")
assert(!acc.isZero)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment