You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by sr...@apache.org on 2018/02/13 17:45:23 UTC
spark git commit: [SPARK-23392][TEST] Add some test cases for images
feature
Repository: spark
Updated Branches:
refs/heads/master bd2473172 -> 263531466
[SPARK-23392][TEST] Add some test cases for images feature
## What changes were proposed in this pull request?
Add some test cases for images feature
## How was this patch tested?
Add some test cases in ImageSchemaSuite
Author: xubo245 <60...@qq.com>
Closes #20583 from xubo245/CARBONDATA23392_AddTestForImage.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/26353146
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/26353146
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/26353146
Branch: refs/heads/master
Commit: 263531466f4a7e223c94caa8705e6e8394a12054
Parents: bd24731
Author: xubo245 <60...@qq.com>
Authored: Tue Feb 13 11:45:20 2018 -0600
Committer: Sean Owen <so...@cloudera.com>
Committed: Tue Feb 13 11:45:20 2018 -0600
----------------------------------------------------------------------
.../spark/ml/image/ImageSchemaSuite.scala | 62 +++++++++++++++++++-
1 file changed, 61 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/26353146/mllib/src/test/scala/org/apache/spark/ml/image/ImageSchemaSuite.scala
----------------------------------------------------------------------
diff --git a/mllib/src/test/scala/org/apache/spark/ml/image/ImageSchemaSuite.scala b/mllib/src/test/scala/org/apache/spark/ml/image/ImageSchemaSuite.scala
index a8833c6..527b3f8 100644
--- a/mllib/src/test/scala/org/apache/spark/ml/image/ImageSchemaSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/ml/image/ImageSchemaSuite.scala
@@ -65,11 +65,71 @@ class ImageSchemaSuite extends SparkFunSuite with MLlibTestSparkContext {
assert(count50 > 0 && count50 < countTotal)
}
+ test("readImages test: recursive = false") {
+ val df = readImages(imagePath, null, false, 3, true, 1.0, 0)
+ assert(df.count() === 0)
+ }
+
+ test("readImages test: read jpg image") {
+ val df = readImages(imagePath + "/kittens/DP153539.jpg", null, false, 3, true, 1.0, 0)
+ assert(df.count() === 1)
+ }
+
+ test("readImages test: read png image") {
+ val df = readImages(imagePath + "/multi-channel/BGRA.png", null, false, 3, true, 1.0, 0)
+ assert(df.count() === 1)
+ }
+
+ test("readImages test: read non image") {
+ val df = readImages(imagePath + "/kittens/not-image.txt", null, false, 3, true, 1.0, 0)
+ assert(df.schema("image").dataType == columnSchema, "data do not fit ImageSchema")
+ assert(df.count() === 0)
+ }
+
+ test("readImages test: read non image and dropImageFailures is false") {
+ val df = readImages(imagePath + "/kittens/not-image.txt", null, false, 3, false, 1.0, 0)
+ assert(df.count() === 1)
+ }
+
+ test("readImages test: sampleRatio > 1") {
+ val e = intercept[IllegalArgumentException] {
+ readImages(imagePath, null, true, 3, true, 1.1, 0)
+ }
+ assert(e.getMessage.contains("sampleRatio"))
+ }
+
+ test("readImages test: sampleRatio < 0") {
+ val e = intercept[IllegalArgumentException] {
+ readImages(imagePath, null, true, 3, true, -0.1, 0)
+ }
+ assert(e.getMessage.contains("sampleRatio"))
+ }
+
+ test("readImages test: sampleRatio = 0") {
+ val df = readImages(imagePath, null, true, 3, true, 0.0, 0)
+ assert(df.count() === 0)
+ }
+
+ test("readImages test: with sparkSession") {
+ val df = readImages(imagePath, sparkSession = spark, true, 3, true, 1.0, 0)
+ assert(df.count() === 8)
+ }
+
test("readImages partition test") {
val df = readImages(imagePath, null, true, 3, true, 1.0, 0)
assert(df.rdd.getNumPartitions === 3)
}
+ test("readImages partition test: < 0") {
+ val df = readImages(imagePath, null, true, -3, true, 1.0, 0)
+ assert(df.rdd.getNumPartitions === spark.sparkContext.defaultParallelism)
+ }
+
+ test("readImages partition test: = 0") {
+ val df = readImages(imagePath, null, true, 0, true, 1.0, 0)
+ assert(df.rdd.getNumPartitions === spark.sparkContext.defaultParallelism)
+ }
+
// Images with the different number of channels
test("readImages pixel values test") {
@@ -93,7 +153,7 @@ class ImageSchemaSuite extends SparkFunSuite with MLlibTestSparkContext {
// - default representation for 3-channel RGB images is BGR row-wise:
// (B00, G00, R00, B10, G10, R10, ...)
// - default representation for 4-channel RGB images is BGRA row-wise:
- // (B00, G00, R00, A00, B10, G10, R10, A00, ...)
+ // (B00, G00, R00, A00, B10, G10, R10, A10, ...)
private val firstBytes20 = Map(
"grayscale.jpg" ->
(("CV_8UC1", Array[Byte](-2, -33, -61, -60, -59, -59, -64, -59, -66, -67, -73, -73, -62,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org