diff options
author | Sandeep Singh <sandeep@techaddict.me> | 2016-05-03 11:45:51 -0700 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2016-05-03 11:45:51 -0700 |
commit | 84b3a4a873de8444eda1bd162ed52f79941ec864 (patch) | |
tree | 06e47f33626d333f2cbc50e0c3d4413366a340cd /core/src | |
parent | 439e361010e51d2213c92ccabed5093be92a72ee (diff) | |
download | spark-84b3a4a873de8444eda1bd162ed52f79941ec864.tar.gz spark-84b3a4a873de8444eda1bd162ed52f79941ec864.tar.bz2 spark-84b3a4a873de8444eda1bd162ed52f79941ec864.zip |
[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.
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/test/scala/org/apache/spark/util/AccumulatorV2Suite.scala | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/core/src/test/scala/org/apache/spark/util/AccumulatorV2Suite.scala b/core/src/test/scala/org/apache/spark/util/AccumulatorV2Suite.scala index 815b134884..ecaf4f0c64 100644 --- a/core/src/test/scala/org/apache/spark/util/AccumulatorV2Suite.scala +++ b/core/src/test/scala/org/apache/spark/util/AccumulatorV2Suite.scala @@ -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) + } } |