blob: 71bd2705cf50cec1dc7ec4df3b7d2ae76a988304 [file]
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
@DataSchema
data class Sessions(
val roomId: List<Int>
)
@DataSchema
data class Rooms(
val id: Int,
val sort: Int,
val name: String,
)
class Wrapper(val rooms: List<Rooms>)
fun box(): String {
val rooms = dataFrameOf(Rooms(1, 2, "n"))
val sessions = dataFrameOf(Sessions(listOf(1, 2)))
val df = sessions.convert { roomId }.with {
listOf(Wrapper(listOf(Rooms(1, 2, "n")))).toDataFrame(maxDepth = 2)
}
// test 1: column converted to nested schema, structure is available
df.roomId[0].rooms[0].id
// test 2: add operation correctly extracted full schema from df
df.add("test") { 1 }.let {
val v: Int = it[0].roomId[0].rooms[0].id
it.compareSchemas(strict = true)
}
return "OK"
}