Skip to content

Commit f7b4c8c

Browse files
committed
[SPARK-8199] fixed bug in tests
1 parent bb567b6 commit f7b4c8c

File tree

2 files changed

+29
-56
lines changed

2 files changed

+29
-56
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class DateFunctionsSuite extends SparkFunSuite with ExpressionEvalHelper {
5050
(0 to 5).foreach { i =>
5151
val c = Calendar.getInstance()
5252
c.set(y, m, 28, 0, 0, 0)
53-
c.add(Calendar.DATE, i)
53+
c.add(Calendar.DATE, 1)
5454
checkEvaluation(DayInYear(Cast(Literal(new Date(c.getTimeInMillis)), DateType)),
5555
sdfDay.format(c.getTime).toInt)
5656
}
@@ -62,7 +62,7 @@ class DateFunctionsSuite extends SparkFunSuite with ExpressionEvalHelper {
6262
(0 to 5).foreach { i =>
6363
val c = Calendar.getInstance()
6464
c.set(y, m, 28, 0, 0, 0)
65-
c.add(Calendar.DATE, i)
65+
c.add(Calendar.DATE, 1)
6666
checkEvaluation(DayInYear(Cast(Literal(new Date(c.getTimeInMillis)), DateType)),
6767
sdfDay.format(c.getTime).toInt)
6868
}
@@ -74,7 +74,7 @@ class DateFunctionsSuite extends SparkFunSuite with ExpressionEvalHelper {
7474
(0 to 5).foreach { i =>
7575
val c = Calendar.getInstance()
7676
c.set(y, m, 28, 0, 0, 0)
77-
c.add(Calendar.DATE, i)
77+
c.add(Calendar.DATE, 1)
7878
checkEvaluation(DayInYear(Cast(Literal(new Date(c.getTimeInMillis)), DateType)),
7979
sdfDay.format(c.getTime).toInt)
8080
}
@@ -86,7 +86,7 @@ class DateFunctionsSuite extends SparkFunSuite with ExpressionEvalHelper {
8686
(0 to 5).foreach { i =>
8787
val c = Calendar.getInstance()
8888
c.set(y, m, 28, 0, 0, 0)
89-
c.add(Calendar.DATE, i)
89+
c.add(Calendar.DATE, 1)
9090
checkEvaluation(DayInYear(Cast(Literal(new Date(c.getTimeInMillis)), DateType)),
9191
sdfDay.format(c.getTime).toInt)
9292
}

sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala

Lines changed: 25 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ import org.apache.spark.unsafe.types.UTF8String
2626

2727
class DateTimeUtilsSuite extends SparkFunSuite {
2828

29+
private[this] def getInUTCDays(timestamp: Long): Int = {
30+
val tz = TimeZone.getDefault
31+
((timestamp + tz.getOffset(timestamp)) / DateTimeUtils.MILLIS_PER_DAY).toInt
32+
}
33+
2934
test("timestamp and us") {
3035
val now = new Timestamp(System.currentTimeMillis())
3136
now.setNanos(1000)
@@ -276,28 +281,6 @@ class DateTimeUtilsSuite extends SparkFunSuite {
276281
assert(DateTimeUtils.stringToTimestamp(
277282
UTF8String.fromString("2011-05-06 07:08:09.1000")).get === c.getTimeInMillis * 1000)
278283

279-
val defaultTimeZone = TimeZone.getDefault
280-
TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"))
281-
282-
c = Calendar.getInstance()
283-
c.set(2015, 2, 8, 2, 0, 0)
284-
c.set(Calendar.MILLISECOND, 0)
285-
assert(DateTimeUtils.stringToTimestamp(
286-
UTF8String.fromString("2015-3-8 2:0:0")).get === c.getTimeInMillis * 1000)
287-
c.add(Calendar.MINUTE, 30)
288-
assert(DateTimeUtils.stringToTimestamp(
289-
UTF8String.fromString("2015-3-8 3:30:0")).get === c.getTimeInMillis * 1000)
290-
assert(DateTimeUtils.stringToTimestamp(
291-
UTF8String.fromString("2015-3-8 2:30:0")).get === c.getTimeInMillis * 1000)
292-
293-
c = Calendar.getInstance()
294-
c.set(2015, 10, 1, 1, 59, 0)
295-
c.set(Calendar.MILLISECOND, 0)
296-
c.add(Calendar.MINUTE, 31)
297-
assert(DateTimeUtils.stringToTimestamp(
298-
UTF8String.fromString("2015-11-1 2:30:0")).get === c.getTimeInMillis * 1000)
299-
TimeZone.setDefault(defaultTimeZone)
300-
301284
assert(DateTimeUtils.stringToTimestamp(UTF8String.fromString("238")).isEmpty)
302285
assert(DateTimeUtils.stringToTimestamp(UTF8String.fromString("2015-03-18 123142")).isEmpty)
303286
assert(DateTimeUtils.stringToTimestamp(UTF8String.fromString("2015-03-18T123123")).isEmpty)
@@ -340,51 +323,41 @@ class DateTimeUtilsSuite extends SparkFunSuite {
340323

341324
test("get day in year") {
342325
val c = Calendar.getInstance()
343-
c.set(2015, 2, 18)
344-
assert(DateTimeUtils.getDayInYear((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
345-
77)
346-
c.set(2012, 2, 18)
347-
assert(DateTimeUtils.getDayInYear((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
348-
78)
326+
c.set(2015, 2, 18, 0, 0, 0)
327+
assert(DateTimeUtils.getDayInYear(getInUTCDays(c.getTimeInMillis)) === 77)
328+
c.set(2012, 2, 18, 0, 0, 0)
329+
assert(DateTimeUtils.getDayInYear(getInUTCDays(c.getTimeInMillis)) === 78)
349330
}
350331

351332
test("get year") {
352333
val c = Calendar.getInstance()
353-
c.set(2015, 2, 18)
354-
assert(DateTimeUtils.getYear((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
355-
2015)
356-
c.set(2012, 2, 18)
357-
assert(DateTimeUtils.getYear((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
358-
2012)
334+
c.set(2015, 2, 18, 0, 0, 0)
335+
assert(DateTimeUtils.getYear(getInUTCDays(c.getTimeInMillis)) === 2015)
336+
c.set(2012, 2, 18, 0, 0, 0)
337+
assert(DateTimeUtils.getYear(getInUTCDays(c.getTimeInMillis)) === 2012)
359338
}
360339

361340
test("get quarter") {
362341
val c = Calendar.getInstance()
363-
c.set(2015, 2, 18)
364-
assert(DateTimeUtils.getQuarter((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
365-
1)
366-
c.set(2012, 11, 18)
367-
assert(DateTimeUtils.getQuarter((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
368-
4)
342+
c.set(2015, 2, 18, 0, 0, 0)
343+
assert(DateTimeUtils.getQuarter(getInUTCDays(c.getTimeInMillis)) === 1)
344+
c.set(2012, 11, 18, 0, 0, 0)
345+
assert(DateTimeUtils.getQuarter(getInUTCDays(c.getTimeInMillis)) === 4)
369346
}
370347

371348
test("get month") {
372349
val c = Calendar.getInstance()
373-
c.set(2015, 2, 18)
374-
assert(DateTimeUtils.getMonth((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
375-
3)
376-
c.set(2012, 11, 18)
377-
assert(DateTimeUtils.getMonth((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
378-
12)
350+
c.set(2015, 2, 18, 0, 0, 0)
351+
assert(DateTimeUtils.getMonth(getInUTCDays(c.getTimeInMillis)) === 3)
352+
c.set(2012, 11, 18, 0, 0, 0)
353+
assert(DateTimeUtils.getMonth(getInUTCDays(c.getTimeInMillis)) === 12)
379354
}
380355

381356
test("get day of month") {
382357
val c = Calendar.getInstance()
383-
c.set(2015, 2, 18)
384-
assert(DateTimeUtils.getDayOfMonth((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
385-
18)
386-
c.set(2012, 11, 24)
387-
assert(DateTimeUtils.getDayOfMonth((c.getTimeInMillis / DateTimeUtils.MILLIS_PER_DAY).toInt) ===
388-
24)
358+
c.set(2015, 2, 18, 0, 0, 0)
359+
assert(DateTimeUtils.getDayOfMonth(getInUTCDays(c.getTimeInMillis)) === 18)
360+
c.set(2012, 11, 24, 0, 0, 0)
361+
assert(DateTimeUtils.getDayOfMonth(getInUTCDays(c.getTimeInMillis)) === 24)
389362
}
390363
}

0 commit comments

Comments
 (0)