From 278b15ce4ac191f3133c6cd9f5a0e36dcb12a7b9 Mon Sep 17 00:00:00 2001 From: Zach Smith Date: Mon, 6 Mar 2017 19:13:16 -0800 Subject: Remove arithmetic from year component in date conversion. Add unit tests --- src/main/scala/xyz/driver/core/database/package.scala | 4 +--- src/test/scala/xyz/driver/core/database/DatabaseTest.scala | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 src/test/scala/xyz/driver/core/database/DatabaseTest.scala diff --git a/src/main/scala/xyz/driver/core/database/package.scala b/src/main/scala/xyz/driver/core/database/package.scala index c88260b..32b240e 100644 --- a/src/main/scala/xyz/driver/core/database/package.scala +++ b/src/main/scala/xyz/driver/core/database/package.scala @@ -23,9 +23,7 @@ package object database { private[database] def dateToSqlDate(date: Date): SqlDate = { val cal = Calendar.getInstance() - cal.set(Calendar.YEAR, date.year - 1900) - cal.set(Calendar.MONTH, date.month) - cal.set(Calendar.DAY_OF_MONTH, date.day) + cal.set(date.year, date.month, date.day, 0, 0, 0) new SqlDate(cal.getTime.getTime) } } diff --git a/src/test/scala/xyz/driver/core/database/DatabaseTest.scala b/src/test/scala/xyz/driver/core/database/DatabaseTest.scala new file mode 100644 index 0000000..dafcd80 --- /dev/null +++ b/src/test/scala/xyz/driver/core/database/DatabaseTest.scala @@ -0,0 +1,14 @@ +package xyz.driver.core.database + +import org.scalatest.{FlatSpec, Matchers} +import org.scalatest.prop.Checkers + +class DatabaseTest extends FlatSpec with Matchers with Checkers { + "Date SQL converter" should "correctly convert back and forth to SQL dates" in { + import xyz.driver.core.generators.nextDate + + for (date <- 1 to 100 map (_ => nextDate())) { + sqlDateToDate(dateToSqlDate(date)) should be(date) + } + } +} -- cgit v1.2.3