aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorLuciano Resende <lresende@apache.org>2016-04-19 21:02:10 -0700
committerDavies Liu <davies.liu@gmail.com>2016-04-19 21:02:10 -0700
commit78b38109ed2fc20e97f9a968185d0c02ef83aa42 (patch)
tree8f0c18b0ef7ba0320054f506d67c6e3855af6dbd /sql
parent8eedf0b553180d0e958b0fb49bc2fee81658495c (diff)
downloadspark-78b38109ed2fc20e97f9a968185d0c02ef83aa42.tar.gz
spark-78b38109ed2fc20e97f9a968185d0c02ef83aa42.tar.bz2
spark-78b38109ed2fc20e97f9a968185d0c02ef83aa42.zip
[SPARK-13419] [SQL] Update SubquerySuite to use checkAnswer for validation
## What changes were proposed in this pull request? Change SubquerySuite to validate test results utilizing checkAnswer helper method ## How was this patch tested? Existing tests Author: Luciano Resende <lresende@apache.org> Closes #12269 from lresende/SPARK-13419.
Diffstat (limited to 'sql')
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/SubquerySuite.scala66
1 files changed, 38 insertions, 28 deletions
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/SubquerySuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/SubquerySuite.scala
index 5742983fb9..d69ef08735 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/SubquerySuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/SubquerySuite.scala
@@ -55,32 +55,37 @@ class SubquerySuite extends QueryTest with SharedSQLContext {
}
test("simple uncorrelated scalar subquery") {
- assertResult(Array(Row(1))) {
- sql("select (select 1 as b) as b").collect()
- }
+ checkAnswer(
+ sql("select (select 1 as b) as b"),
+ Array(Row(1))
+ )
- assertResult(Array(Row(3))) {
- sql("select (select (select 1) + 1) + 1").collect()
- }
+ checkAnswer(
+ sql("select (select (select 1) + 1) + 1"),
+ Array(Row(3))
+ )
// string type
- assertResult(Array(Row("s"))) {
- sql("select (select 's' as s) as b").collect()
- }
+ checkAnswer(
+ sql("select (select 's' as s) as b"),
+ Array(Row("s"))
+ )
}
test("uncorrelated scalar subquery in CTE") {
- assertResult(Array(Row(1))) {
+ checkAnswer(
sql("with t2 as (select 1 as b, 2 as c) " +
"select a from (select 1 as a union all select 2 as a) t " +
- "where a = (select max(b) from t2) ").collect()
- }
+ "where a = (select max(b) from t2) "),
+ Array(Row(1))
+ )
}
test("uncorrelated scalar subquery should return null if there is 0 rows") {
- assertResult(Array(Row(null))) {
- sql("select (select 's' as s limit 0) as b").collect()
- }
+ checkAnswer(
+ sql("select (select 's' as s limit 0) as b"),
+ Array(Row(null))
+ )
}
test("runtime error when the number of rows is greater than 1") {
@@ -88,29 +93,34 @@ class SubquerySuite extends QueryTest with SharedSQLContext {
sql("select (select a from (select 1 as a union all select 2 as a) t) as b").collect()
}
assert(error2.getMessage.contains(
- "more than one row returned by a subquery used as an expression"))
+ "more than one row returned by a subquery used as an expression")
+ )
}
test("uncorrelated scalar subquery on a DataFrame generated query") {
val df = Seq((1, "one"), (2, "two"), (3, "three")).toDF("key", "value")
df.registerTempTable("subqueryData")
- assertResult(Array(Row(4))) {
- sql("select (select key from subqueryData where key > 2 order by key limit 1) + 1").collect()
- }
+ checkAnswer(
+ sql("select (select key from subqueryData where key > 2 order by key limit 1) + 1"),
+ Array(Row(4))
+ )
- assertResult(Array(Row(-3))) {
- sql("select -(select max(key) from subqueryData)").collect()
- }
+ checkAnswer(
+ sql("select -(select max(key) from subqueryData)"),
+ Array(Row(-3))
+ )
- assertResult(Array(Row(null))) {
- sql("select (select value from subqueryData limit 0)").collect()
- }
+ checkAnswer(
+ sql("select (select value from subqueryData limit 0)"),
+ Array(Row(null))
+ )
- assertResult(Array(Row("two"))) {
+ checkAnswer(
sql("select (select min(value) from subqueryData" +
- " where key = (select max(key) from subqueryData) - 1)").collect()
- }
+ " where key = (select max(key) from subqueryData) - 1)"),
+ Array(Row("two"))
+ )
}
test("EXISTS predicate subquery") {