MicroUtils/klock/src/commonTest/kotlin/korlibs/time/TimeFormatTest.kt

68 lines
2.5 KiB
Kotlin

package korlibs.time
import kotlin.test.Test
import kotlin.test.assertEquals
class TimeFormatTest {
@Test
fun testFormat() {
val time1 = Time(hour = 48, minute = 23, second = 12, millisecond = 450)
assertEquals("48:23:12.450", TimeFormat.DEFAULT_FORMAT.format(time1))
assertEquals("48:23:12", TimeFormat.FORMAT_TIME.format(time1))
assertEquals("48.23.12", TimeFormat("HH.mm.ss").format(time1))
assertEquals("12:23:12", TimeFormat("hh:mm:ss").format(time1))
assertEquals("48:23:12", TimeFormat("kk:mm:ss").format(time1))
assertEquals("00:23:12", TimeFormat("KK:mm:ss").format(time1))
val time2 = Time(hour = 50, minute = 2, second = 0, millisecond = 109)
assertEquals("2:2:0.10", TimeFormat("h:m:s.SS").format(time2))
assertEquals("2:2:0.1", TimeFormat("h:m:s.S").format(time2))
assertEquals("2:2:0", TimeFormat("K:m:s").format(time2))
}
@Test
fun testParse() {
val time1 = TimeFormat.FORMAT_TIME.parseTime("23:59:59")
assertEquals(23, time1.hour)
assertEquals(59, time1.minute)
assertEquals(59, time1.second)
assertEquals(0, time1.millisecond)
val time2 = TimeFormat.FORMAT_TIME.parseTime("48:00:00")
assertEquals(48, time2.hour)
assertEquals(0, time2.minute)
assertEquals(0, time2.second)
assertEquals(0, time2.millisecond)
val time3 = TimeFormat.DEFAULT_FORMAT.parseTime("23:59:59.999")
assertEquals(23, time3.hour)
assertEquals(59, time3.minute)
assertEquals(59, time3.second)
assertEquals(999, time3.millisecond)
val time4 = TimeFormat.DEFAULT_FORMAT.parseTime("48:00:00.000")
assertEquals(48, time4.hour)
assertEquals(0, time4.minute)
assertEquals(0, time4.second)
assertEquals(0, time4.millisecond)
val time = TimeFormat("ss.mm.HH").parseTime("59.59.48")
assertEquals(48, time.hour)
assertEquals(59, time.minute)
assertEquals(59, time.second)
assertEquals(0, time.millisecond)
}
@Test
fun testFromUnix() {
val now = 1611658981L * 1000
val diff = TimezoneOffset.local(DateTime(now))
val dateUnix = DateTimeTz.fromUnix(now)
val dateUnixLocal = DateTimeTz.fromUnixLocal(now).addOffset(diff)
assertEquals(dateUnix.hours, dateUnixLocal.hours, "testFromUnix. now=$now, diff=$diff, dataUnix=$dateUnix, dateUnixLocal=$dateUnixLocal")
}
}