Skip to content

Commit ae7ac3e

Browse files
committed
move unit test to a separate suite
1 parent 85dd559 commit ae7ac3e

File tree

2 files changed

+33
-22
lines changed

2 files changed

+33
-22
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypes.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ case class CreateArray(children: Seq[Expression]) extends Expression {
145145

146146
/**
147147
* Returns a Row containing the evaluation of all children expressions.
148+
* TODO: [[CreateStruct]] does not support codegen.
148149
*/
149150
case class CreateStruct(children: Seq[NamedExpression]) extends Expression {
150151
override type EvaluatedType = Row

sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvaluationSuite.scala

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,34 @@ import org.apache.spark.sql.catalyst.analysis.UnresolvedGetField
3030
import org.apache.spark.sql.types._
3131

3232

33-
class ExpressionEvaluationSuite extends FunSuite {
33+
class ExpressionEvaluationBaseSuite extends FunSuite {
34+
35+
def evaluate(expression: Expression, inputRow: Row = EmptyRow): Any = {
36+
expression.eval(inputRow)
37+
}
38+
39+
def checkEvaluation(expression: Expression, expected: Any, inputRow: Row = EmptyRow): Unit = {
40+
val actual = try evaluate(expression, inputRow) catch {
41+
case e: Exception => fail(s"Exception evaluating $expression", e)
42+
}
43+
if(actual != expected) {
44+
val input = if(inputRow == EmptyRow) "" else s", input: $inputRow"
45+
fail(s"Incorrect Evaluation: $expression, actual: $actual, expected: $expected$input")
46+
}
47+
}
48+
49+
def checkDoubleEvaluation(
50+
expression: Expression,
51+
expected: Spread[Double],
52+
inputRow: Row = EmptyRow): Unit = {
53+
val actual = try evaluate(expression, inputRow) catch {
54+
case e: Exception => fail(s"Exception evaluating $expression", e)
55+
}
56+
actual.asInstanceOf[Double] shouldBe expected
57+
}
58+
}
59+
60+
class ExpressionEvaluationSuite extends ExpressionEvaluationBaseSuite {
3461

3562
test("literals") {
3663
checkEvaluation(Literal(1), 1)
@@ -134,27 +161,6 @@ class ExpressionEvaluationSuite extends FunSuite {
134161
}
135162
}
136163

137-
def evaluate(expression: Expression, inputRow: Row = EmptyRow): Any = {
138-
expression.eval(inputRow)
139-
}
140-
141-
def checkEvaluation(expression: Expression, expected: Any, inputRow: Row = EmptyRow): Unit = {
142-
val actual = try evaluate(expression, inputRow) catch {
143-
case e: Exception => fail(s"Exception evaluating $expression", e)
144-
}
145-
if(actual != expected) {
146-
val input = if(inputRow == EmptyRow) "" else s", input: $inputRow"
147-
fail(s"Incorrect Evaluation: $expression, actual: $actual, expected: $expected$input")
148-
}
149-
}
150-
151-
def checkDoubleEvaluation(expression: Expression, expected: Spread[Double], inputRow: Row = EmptyRow): Unit = {
152-
val actual = try evaluate(expression, inputRow) catch {
153-
case e: Exception => fail(s"Exception evaluating $expression", e)
154-
}
155-
actual.asInstanceOf[Double] shouldBe expected
156-
}
157-
158164
test("IN") {
159165
checkEvaluation(In(Literal(1), Seq(Literal(1), Literal(2))), true)
160166
checkEvaluation(In(Literal(2), Seq(Literal(1), Literal(2))), true)
@@ -1080,6 +1086,10 @@ class ExpressionEvaluationSuite extends FunSuite {
10801086
checkEvaluation(c1 ^ c2, 3, row)
10811087
checkEvaluation(~c1, -2, row)
10821088
}
1089+
}
1090+
1091+
// TODO: Make the tests work with codegen.
1092+
class ExpressionEvaluationWithoutCodeGenSuite extends ExpressionEvaluationBaseSuite {
10831093

10841094
test("CreateStruct") {
10851095
val row = Row(1, 2, 3)

0 commit comments

Comments
 (0)