fun dtypes()

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),
                )
            )
        )
    }