in plot-api/src/jvmTest/kotlin/org/jetbrains/letsPlot/SeriesAnnotationTest.kt [48:106]
fun dtypes() {
val data = mapOf(
"byte-column" to listOf(1.toByte(), 2.toByte(), 3.toByte()),
"short-column" to listOf(1.toShort(), 2.toShort(), 3.toShort()),
"int-column" to listOf(1, 2, 3),
"long-column" to listOf(1L, 2L, 3L),
"double-column" to listOf(1.0, 2.0, 3.0),
"float-column" to listOf(1.0f, 2.0f, 3.0f),
"string-column" to listOf("a", "b", "c"),
"boolean-column" to listOf(true, false, true),
"java-instant-column" to listOf(Instant.parse("2021-01-01T00:00:00Z")),
"java-date-column" to listOf(java.util.Date.from(java.time.Instant.parse("2021-01-01T00:00:00Z"))),
"java-zoned-datetime-column" to listOf(java.time.ZonedDateTime.parse("2021-01-01T00:00:00Z")),
"java-offset-datetime-column" to listOf(java.time.OffsetDateTime.parse("2021-01-01T00:00:00Z")),
"java-local-date-column" to listOf(java.time.LocalDate.parse("2021-01-01")),
"java-local-time-column" to listOf(java.time.LocalTime.parse("12:34:56")),
"java-local-datetime-column" to listOf(java.time.LocalDateTime.parse("2021-01-01T12:34:56")),
"kotlin-instant-column" to listOf(kotlinx.datetime.Instant.parse("2021-01-01T00:00:00Z")),
"kotlin-local-date-column" to listOf(kotlinx.datetime.LocalDate.parse("2021-01-01")),
"kotlin-local-time-column" to listOf(kotlinx.datetime.LocalTime.parse("12:34:56")),
"kotlin-local-datetime-column" to listOf(kotlinx.datetime.LocalDateTime.parse("2021-01-01T12:34:56")),
)
val p = ggplot(data) + geomPoint()
assertThat(p.toSpec()[DATA_META]).isEqualTo(
mapOf(
SeriesAnnotation.TAG to listOf(
seriesAnnotation(column = "byte-column", type = Types.INTEGER),
seriesAnnotation(column = "short-column", type = Types.INTEGER),
seriesAnnotation(column = "int-column", type = Types.INTEGER),
seriesAnnotation(column = "long-column", type = Types.INTEGER),
seriesAnnotation(column = "double-column", type = Types.FLOATING),
seriesAnnotation(column = "float-column", type = Types.FLOATING),
seriesAnnotation(column = "string-column", type = Types.STRING),
seriesAnnotation(column = "boolean-column", type = Types.BOOLEAN),
seriesAnnotation(column = "java-instant-column", type = Types.DATE_TIME),
seriesAnnotation(column = "java-date-column", type = Types.DATE_TIME),
seriesAnnotation(column = "java-zoned-datetime-column", type = Types.DATE_TIME, timeZoneId = "UTC"),
seriesAnnotation(
column = "java-offset-datetime-column",
type = Types.DATE_TIME,
timeZoneId = "UTC"
),
seriesAnnotation(column = "java-local-date-column", type = Types.DATE),
seriesAnnotation(column = "java-local-time-column", type = Types.TIME),
seriesAnnotation(column = "java-local-datetime-column", type = Types.DATE_TIME),
seriesAnnotation(column = "kotlin-instant-column", type = Types.DATE_TIME),
seriesAnnotation(column = "kotlin-local-date-column", type = Types.DATE),
seriesAnnotation(column = "kotlin-local-time-column", type = Types.TIME),
seriesAnnotation(column = "kotlin-local-datetime-column", type = Types.DATE_TIME),
)
)
)
}