Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -110,22 +110,10 @@ public fun AnyCol.convertTo(newType: KType): AnyCol {
public fun <T : Any> DataColumn<T>.convertToLocalDateTime(): DataColumn<LocalDateTime> = convertTo()
public fun <T : Any> DataColumn<T?>.convertToLocalDateTime(): DataColumn<LocalDateTime?> = convertTo()

@JvmName("convertToLocalDateFromT")
public fun <T : Any> DataColumn<T>.convertToLocalDate(): DataColumn<LocalDate> = convertTo()
public fun <T : Any> DataColumn<T?>.convertToLocalDate(): DataColumn<LocalDate?> = convertTo()

@JvmName("convertToLocalTimeFromT")
public fun <T : Any> DataColumn<T>.convertToLocalTime(): DataColumn<LocalTime> = convertTo()
public fun <T : Any> DataColumn<T?>.convertToLocalTime(): DataColumn<LocalTime?> = convertTo()

@JvmName("convertToByteFromT")
public fun <T : Any> DataColumn<T>.convertToByte(): DataColumn<Byte> = convertTo()
public fun <T : Any> DataColumn<T?>.convertToByte(): DataColumn<Byte?> = convertTo()

@JvmName("convertToShortFromT")
public fun <T : Any> DataColumn<T>.convertToShort(): DataColumn<Short> = convertTo()
public fun <T : Any> DataColumn<T?>.convertToShort(): DataColumn<Short?> = convertTo()

@JvmName("convertToIntFromT")
public fun <T : Any> DataColumn<T>.convertToInt(): DataColumn<Int> = convertTo()
public fun <T : Any> DataColumn<T?>.convertToInt(): DataColumn<Int?> = convertTo()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,18 @@ package org.jetbrains.kotlinx.dataframe.io
import io.kotest.assertions.throwables.shouldThrow
import io.kotest.matchers.shouldBe
import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toKotlinLocalDate
import kotlinx.datetime.toKotlinLocalDateTime
import org.jetbrains.kotlinx.dataframe.DataColumn
import org.jetbrains.kotlinx.dataframe.DataFrame
import org.jetbrains.kotlinx.dataframe.api.cast
import org.jetbrains.kotlinx.dataframe.api.columnOf
import org.jetbrains.kotlinx.dataframe.api.convertTo
import org.jetbrains.kotlinx.dataframe.api.convertToDouble
import org.jetbrains.kotlinx.dataframe.api.convertToLocalDate
import org.jetbrains.kotlinx.dataframe.api.convertToLocalDateTime
import org.jetbrains.kotlinx.dataframe.api.convertToLocalTime
import org.jetbrains.kotlinx.dataframe.api.parse
import org.jetbrains.kotlinx.dataframe.api.parser
import org.jetbrains.kotlinx.dataframe.api.plus
import org.jetbrains.kotlinx.dataframe.api.times
import org.jetbrains.kotlinx.dataframe.api.tryParse
import org.jetbrains.kotlinx.dataframe.exceptions.TypeConversionException
import org.junit.Test
import java.math.BigDecimal
import java.time.LocalTime
import java.util.Locale
import kotlin.reflect.typeOf

Expand Down Expand Up @@ -84,50 +75,6 @@ class ParserTests {
)
}

@Test
fun `convert to date and time`() {
val daysToStandardMillis = 24 * 60 * 60 * 1000L
val longCol = columnOf(1L, 60L, 3600L).times(1000L).plus(daysToStandardMillis * 366)
val datetimeCol = longCol.convertToLocalDateTime(TimeZone.UTC)

datetimeCol.shouldBe(
columnOf(
java.time.LocalDateTime.of(1971, 1, 2, 0, 0, 1).toKotlinLocalDateTime(),
java.time.LocalDateTime.of(1971, 1, 2, 0, 1, 0).toKotlinLocalDateTime(),
java.time.LocalDateTime.of(1971, 1, 2, 1, 0, 0).toKotlinLocalDateTime()
)
)
longCol.convertToLocalDate(TimeZone.UTC).shouldBe(
columnOf(
java.time.LocalDate.of(1971, 1, 2).toKotlinLocalDate(),
java.time.LocalDate.of(1971, 1, 2).toKotlinLocalDate(),
java.time.LocalDate.of(1971, 1, 2).toKotlinLocalDate()
)
)
longCol.convertToLocalTime(TimeZone.UTC).shouldBe(
columnOf(
LocalTime.of(0, 0, 1),
LocalTime.of(0, 1, 0),
LocalTime.of(1, 0, 0)
)
)

datetimeCol.convertToLocalDate().shouldBe(
columnOf(
java.time.LocalDate.of(1971, 1, 2).toKotlinLocalDate(),
java.time.LocalDate.of(1971, 1, 2).toKotlinLocalDate(),
java.time.LocalDate.of(1971, 1, 2).toKotlinLocalDate()
)
)
datetimeCol.convertToLocalTime().shouldBe(
columnOf(
LocalTime.of(0, 0, 1),
LocalTime.of(0, 1, 0),
LocalTime.of(1, 0, 0)
)
)
}

@Test
fun `converting String to Double in different locales`() {
val currentLocale = Locale.getDefault()
Expand Down
1 change: 0 additions & 1 deletion dataframe-arrow/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ dependencies {
implementation(libs.arrow.memory)
implementation(libs.commonsCompress)
implementation(libs.kotlin.reflect)
implementation(libs.kotlin.datetimeJvm)

testApi(project(":core"))
testImplementation(libs.junit)
Expand Down
Loading