// EXEC: cjc %import-path %L %l %f
// EXEC: ./main
import mysqlclient_ffi.*
import std.unittest.*
import std.unittest.testmacro.*
import std.database.sql.*
import std.time.*
import std.math.*
main(): Int64 {
let mysqlSqlDateTimeTest: MysqlSqlDateTimeTest = MysqlSqlDateTimeTest()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest01()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest02()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest03()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest04()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest05()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest06()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest07()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest08()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest09()
mysqlSqlDateTimeTest.mysqlSqlDateTimeTest10()
return 0
}
@Test
public class MysqlSqlDateTimeTest {
@TestCase
public func mysqlSqlDateTimeTest01(): Unit {
// let dateTime: DateTime = DateTime.nowUTC()
// let sqlDateTime: SqlDateTime = SqlDateTime(dateTime)
// @Assert("SqlTimestampWithoutTz", sqlDateTime.name)
// let dateTime1: DateTime = sqlDateTime.value
// @Assert(dateTime.year, dateTime1.year)
// @Assert(dateTime.monthValue, dateTime1.monthValue)
// @Assert(dateTime.dayOfMonth, dateTime1.dayOfMonth)
}
@TestCase
public func mysqlSqlDateTimeTest02(): Unit {
// let dateTime: DateTime = DateTime.nowUTC()
// let sqlDateTime: SqlDateTime = SqlDateTime(dateTime)
// @Assert("SqlTimestampWithoutTz", sqlDateTime.name)
// sqlDateTime.value = DateTime.of(year: 2002, month: 10, dayOfMonth: 20)
// let dateTime1: DateTime = sqlDateTime.value
// @Assert(2002, dateTime1.year)
// @Assert(10, dateTime1.monthValue)
// @Assert(20, dateTime1.dayOfMonth)
}
@TestCase
public func mysqlSqlDateTimeTest03(): Unit {
// let dateTime: DateTime = DateTime.of(year: 2002, month: 10, dayOfMonth: 20)
// let sqlDateTime: SqlDateTime = SqlDateTime(dateTime)
// @Assert("SqlTimestampWithoutTz", sqlDateTime.name)
// let dateTime1: DateTime = sqlDateTime.value
// @Assert(2002, dateTime1.year)
// @Assert(10, dateTime1.monthValue)
// @Assert(20, dateTime1.dayOfMonth)
}
@TestCase
public func mysqlSqlDateTimeTest04(): Unit {
// let dateTime: DateTime = DateTime.of(year: 2002, month: 10, dayOfMonth: 20)
// let sqlDateTime: SqlDateTime = SqlDateTime(dateTime)
// @Assert("SqlTimestampWithoutTz", sqlDateTime.name)
// sqlDateTime.value = DateTime.of(year: 2012, month: 6, dayOfMonth: 1)
// let dateTime1: DateTime = sqlDateTime.value
// @Assert(2012, dateTime1.year)
// @Assert(6, dateTime1.monthValue)
// @Assert(1, dateTime1.dayOfMonth)
}
@TestCase
public func mysqlSqlDateTimeTest05(): Unit {
// let dateTime: DateTime = DateTime.of(year: 2002, month: 10, dayOfMonth: 20, hour: 10, minute: 20, second: 30)
// let sqlDateTime: SqlDateTime = SqlDateTime(dateTime)
// @Assert("SqlTimestampWithoutTz", sqlDateTime.name)
// sqlDateTime.value = DateTime.of(year: 2012, month: 6, dayOfMonth: 1, hour: 11, minute: 21, second: 31)
// let dateTime1: DateTime = sqlDateTime.value
// @Assert(2012, dateTime1.year)
// @Assert(6, dateTime1.monthValue)
// @Assert(1, dateTime1.dayOfMonth)
// @Assert(11, dateTime1.hour)
// @Assert(21, dateTime1.minute)
// @Assert(31, dateTime1.second)
}
@TestCase
public func mysqlSqlDateTimeTest06(): Unit {
// let dateTime: DateTime = DateTime.nowUTC()
// let sqlDateTime: SqlDateTime = SqlDateTime(dateTime)
// @Assert("SqlTimestampWithoutTz", sqlDateTime.name)
// let dateTime1: DateTime = sqlDateTime.value
// @Assert(dateTime.year, dateTime1.year)
// @Assert(dateTime.monthValue, dateTime1.monthValue)
// @Assert(dateTime.dayOfMonth, dateTime1.dayOfMonth)
// @Assert(dateTime.dayOfMonth, dateTime1.dayOfMonth)
// @Assert(dateTime.hour, dateTime1.hour)
// @Assert(dateTime.minute, dateTime1.minute)
// @Assert(dateTime.second, dateTime1.second)
}
@TestCase
public func mysqlSqlDateTimeTest07(): Unit {
// let sqlNullableDateTime: SqlNullableDateTime = SqlNullableDateTime(None)
// @Assert("SqlNullableTimestampWithoutTz", sqlNullableDateTime.name)
// let dateTime1: ?DateTime = sqlNullableDateTime.value
// match (dateTime1) {
// case Some(_) => @Assert(0, 1)
// case None => @Assert(1, 1)
// }
}
@TestCase
public func mysqlSqlDateTimeTest08(): Unit {
// let sqlNullableDateTime: SqlNullableDateTime = SqlNullableDateTime(None)
// @Assert("SqlNullableTimestampWithoutTz", sqlNullableDateTime.name)
// let dateTime1: ?DateTime = sqlNullableDateTime.value
// match (dateTime1) {
// case Some(_) => @Assert(0, 1)
// case None => @Assert(1, 1)
// }
// sqlNullableDateTime.value = DateTime.nowUTC()
// let dateTime2: ?DateTime = sqlNullableDateTime.value
// match (dateTime2) {
// case Some(_) => @Assert(1, 1)
// case None => @Assert(0, 1)
// }
}
@TestCase
public func mysqlSqlDateTimeTest09(): Unit {
// let dateTime: DateTime = DateTime.nowUTC()
// let sqlNullableDateTime: SqlNullableDateTime = SqlNullableDateTime(dateTime)
// @Assert("SqlNullableTimestampWithoutTz", sqlNullableDateTime.name)
// let dateTime1: DateTime = sqlNullableDateTime.value.getOrThrow()
// @Assert(dateTime.year, dateTime1.year)
// @Assert(dateTime.monthValue, dateTime1.monthValue)
// @Assert(dateTime.dayOfMonth, dateTime1.dayOfMonth)
}
@TestCase
public func mysqlSqlDateTimeTest10(): Unit {
// let dateTime: DateTime = DateTime.nowUTC()
// let sqlNullableDateTime: SqlNullableDateTime = SqlNullableDateTime(dateTime)
// @Assert("SqlNullableTimestampWithoutTz", sqlNullableDateTime.name)
// let dateTime1: DateTime = sqlNullableDateTime.value.getOrThrow()
// @Assert(dateTime.year, dateTime1.year)
// @Assert(dateTime.monthValue, dateTime1.monthValue)
// @Assert(dateTime.dayOfMonth, dateTime1.dayOfMonth)
// @Assert(dateTime.dayOfMonth, dateTime1.dayOfMonth)
// @Assert(dateTime.hour, dateTime1.hour)
// @Assert(dateTime.minute, dateTime1.minute)
// @Assert(dateTime.second, dateTime1.second)
}
}