From 78b38109ed2fc20e97f9a968185d0c02ef83aa42 Mon Sep 17 00:00:00 2001 From: Luciano Resende Date: Tue, 19 Apr 2016 21:02:10 -0700 Subject: [PATCH] [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 Closes #12269 from lresende/SPARK-13419. --- .../org/apache/spark/sql/SubquerySuite.scala | 66 +++++++++++-------- 1 file 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") {