Ppeixianzhongupdate 1.0.0
4b030e58创建于 2025年8月19日历史提交
// 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)
    }
}