diff options
author | kai <kaizeng@eecs.berkeley.edu> | 2014-11-14 23:44:23 -0800 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2014-11-14 23:44:23 -0800 |
commit | cbddac23696d89b672dce380cc7360a873e27b3b (patch) | |
tree | ec6fc4469ed5fa4d1d86133dfbfdaacf4c54b4c9 /sql/catalyst/src/test | |
parent | 60969b0336930449a826821a48f83f65337e8856 (diff) | |
download | spark-cbddac23696d89b672dce380cc7360a873e27b3b.tar.gz spark-cbddac23696d89b672dce380cc7360a873e27b3b.tar.bz2 spark-cbddac23696d89b672dce380cc7360a873e27b3b.zip |
Added contains(key) to Metadata
Add contains(key) to org.apache.spark.sql.catalyst.util.Metadata to test the existence of a key. Otherwise, Class Metadata's get methods may throw NoSuchElement exception if the key does not exist.
Testcases are added to MetadataSuite as well.
Author: kai <kaizeng@eecs.berkeley.edu>
Closes #3273 from kai-zeng/metadata-fix and squashes the following commits:
74b3d03 [kai] Added contains(key) to Metadata
Diffstat (limited to 'sql/catalyst/src/test')
-rwxr-xr-x[-rw-r--r--] | sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/MetadataSuite.scala | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/MetadataSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/MetadataSuite.scala index 0063d31666..f005b7df21 100644..100755 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/MetadataSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/MetadataSuite.scala @@ -56,17 +56,30 @@ class MetadataSuite extends FunSuite { .build() test("metadata builder and getters") { + assert(age.contains("summary") === false) + assert(age.contains("index") === true) assert(age.getLong("index") === 1L) + assert(age.contains("average") === true) assert(age.getDouble("average") === 45.0) + assert(age.contains("categorical") === true) assert(age.getBoolean("categorical") === false) + assert(age.contains("name") === true) assert(age.getString("name") === "age") + assert(metadata.contains("purpose") === true) assert(metadata.getString("purpose") === "ml") + assert(metadata.contains("isBase") === true) assert(metadata.getBoolean("isBase") === false) + assert(metadata.contains("summary") === true) assert(metadata.getMetadata("summary") === summary) + assert(metadata.contains("long[]") === true) assert(metadata.getLongArray("long[]").toSeq === Seq(0L, 1L)) + assert(metadata.contains("double[]") === true) assert(metadata.getDoubleArray("double[]").toSeq === Seq(3.0, 4.0)) + assert(metadata.contains("boolean[]") === true) assert(metadata.getBooleanArray("boolean[]").toSeq === Seq(true, false)) + assert(gender.contains("categories") === true) assert(gender.getStringArray("categories").toSeq === Seq("male", "female")) + assert(metadata.contains("features") === true) assert(metadata.getMetadataArray("features").toSeq === Seq(age, gender)) } |