fun params()

in plot-builder/src/jvmTest/kotlin/org/jetbrains/letsPlot/core/plot/builder/defaultTheme/ThemeColorOptionsTest.kt [54:252]


        fun params(): Collection<Array<Any>> {
            val minimalTheme = mapOf(Option.Meta.NAME to ThemeOption.Name.LP_MINIMAL)
            val lightTheme = mapOf(Option.Meta.NAME to ThemeOption.Name.R_LIGHT)
            val noneTheme = mapOf(Option.Meta.NAME to ThemeOption.Name.LP_NONE)
            val classicTheme = mapOf(Option.Meta.NAME to ThemeOption.Name.R_CLASSIC)
            val flavorOption = mapOf(FLAVOR to ThemeOption.Flavor.DARCULA)
            val flavorStandardOption = mapOf(FLAVOR to ThemeOption.Flavor.STANDARD)

            return listOf(
                test(
                    themeOptions = minimalTheme,
                    expected = yAxisColor(null) +
                            plotBackground(Color.WHITE) +
                            panelBackgroundRect(null, null)
                ),
                test(
                    themeOptions = minimalTheme + flavorStandardOption,
                    expected = yAxisColor(null) +
                            plotBackground(Color.WHITE) +
                            panelBackgroundRect(null, null)
                ),
                test(
                    themeOptions = minimalTheme + mapOf(
                        ThemeOption.AXIS_LINE_Y to mapOf(ThemeOption.Elem.BLANK to false),
                        ThemeOption.PANEL_BKGR_RECT to mapOf(ThemeOption.Elem.BLANK to false)
                    ),
                    expected = yAxisColor(DARK_GREY) +
                            plotBackground(Color.WHITE) +
                            panelBackgroundRect(
                                expectedColor = DARK_GREY,
                                expectedFill = Color.WHITE
                            )
                ),
                test(
                    themeOptions = minimalTheme + flavorOption,
                    expected = yAxisColor(null) +
                            plotBackground(Color.parseHex("#303030")) +
                            panelBackgroundRect(null, null)
                ),
                test(
                    themeOptions = minimalTheme + flavorOption + mapOf(
                        ThemeOption.AXIS_LINE_Y to mapOf(ThemeOption.Elem.BLANK to false),
                        ThemeOption.PANEL_BKGR_RECT to mapOf(ThemeOption.Elem.BLANK to false)
                    ),
                    expected = yAxisColor(Color.parseHex("#BBBBBB")) +
                            plotBackground(Color.parseHex("#303030")) +
                            panelBackgroundRect(
                                expectedColor = Color.parseHex("#BBBBBB"), // special flavor color
                                expectedFill = Color.parseHex("#303030") // same as the plot bkgr
                            )
                ),
                // check facet rect
                test(
                    themeOptions = minimalTheme + mapOf(
                        ThemeOption.FACET_STRIP_BGR_RECT to mapOf(ThemeOption.Elem.BLANK to false)
                    ),
                    expected = facetStripBackgroundRect(
                        expectedColor = DARK_GREY,
                        expectedFill = LIGHT_GREY
                    )
                ),
                test(
                    themeOptions = minimalTheme + flavorOption + mapOf(
                        ThemeOption.FACET_STRIP_BGR_RECT to mapOf(ThemeOption.Elem.BLANK to false)
                    ),
                    expected = facetStripBackgroundRect(
                        expectedColor = Color.parseHex("#BBBBBB"),
                        expectedFill = Color.parseHex("#363636")
                    )
                ),
                // custom settings override predefined options
                test(
                    themeOptions = minimalTheme + flavorOption + mapOf(
                        ThemeOption.PLOT_BKGR_RECT to mapOf(ThemeOption.Elem.FILL to Color.RED),
                        ThemeOption.AXIS_LINE_Y to mapOf(
                            ThemeOption.Elem.COLOR to Color.GREEN,
                            ThemeOption.Elem.BLANK to false
                        ),
                        ThemeOption.PANEL_BKGR_RECT to mapOf(
                            ThemeOption.Elem.FILL to Color.BLUE,
                            ThemeOption.Elem.BLANK to false
                        ),
                    ),
                    expected = yAxisColor(Color.GREEN) +
                            plotBackground(Color.RED) +
                            panelBackgroundRect(
                                expectedColor = Color.parseHex("#BBBBBB"), // special flavor color
                                expectedFill = Color.BLUE  // specified
                            )
                ),

                // Check the light theme
                test(
                    themeOptions = lightTheme,
                    expected = yAxisColor(null) +
                            plotBackground(Color.WHITE) +
                            panelBackgroundRect(
                                expectedColor = Color.parseHex("#C9C9C9"),
                                expectedFill = Color.WHITE
                            ) +
                            xAxisTooltipColor(
                                expectedColor = Color.WHITE,
                                expectedFill = DARK_GREY
                            )
                ),
                // light theme: panel background and axis tooltip colors are equal to the plot background
                test(
                    themeOptions = lightTheme + flavorOption,
                    expected = yAxisColor(null) +
                            plotBackground(Color.parseHex("#303030")) +
                            panelBackgroundRect(
                                expectedColor = Color.parseHex("#BBBBBB"),
                                expectedFill = Color.parseHex("#303030")
                            ) +
                            xAxisTooltipColor(
                                expectedColor = Color.parseHex("#303030"),
                                expectedFill = Color.parseHex("#BBBBBB")
                            )
                ),
                // Check the none theme
                test(
                    themeOptions = noneTheme,
                    expected = yAxisColor(Color.BLUE) +
                            plotBackground(Color.LIGHT_BLUE) +
                            panelBackgroundRect(
                                expectedColor = Color.BLUE,
                                expectedFill = Color.LIGHT_BLUE
                            )
                ),
                // flavor is not applied to 'none' theme
                test(
                    themeOptions = noneTheme + flavorOption,
                    expected = yAxisColor(Color.BLUE) +
                            plotBackground(Color.LIGHT_BLUE) +
                            panelBackgroundRect(
                                expectedColor = Color.BLUE,
                                expectedFill = Color.LIGHT_BLUE
                            )
                ),
                // The 'classic' theme: facet rect fill = plot background
                test(
                    themeOptions = classicTheme,
                    expected = yAxisColor(DARK_GREY) +
                            panelBackgroundRect(null, null) +
                            plotBackground(Color.WHITE) +
                            facetStripBackgroundRect(
                                expectedColor = DARK_GREY,
                                expectedFill = Color.WHITE
                            )
                ),
                test(
                    themeOptions = classicTheme + flavorStandardOption,
                    expected = yAxisColor(DARK_GREY) +
                            panelBackgroundRect(null, null) +
                            plotBackground(Color.WHITE) +
                            facetStripBackgroundRect(
                                expectedColor = DARK_GREY,
                                expectedFill = Color.WHITE
                            )
                ),
                test(
                    themeOptions = classicTheme + flavorOption,
                    expected = yAxisColor(Color.parseHex("#BBBBBB")) +
                            plotBackground(Color.parseHex("#303030")) +
                            panelBackgroundRect(null, null) +
                            facetStripBackgroundRect(
                                expectedColor = Color.parseHex("#BBBBBB"),
                                expectedFill = Color.parseHex("#303030")
                            )
                ),
                // Check tooltip rect
                test(
                    themeOptions = minimalTheme,
                    expected = tooltipRectColor(
                        expectedColor = DARK_GREY,
                        expectedFill = Color.WHITE
                    )
                ),
                test(
                    themeOptions = minimalTheme + flavorOption,
                    expected = tooltipRectColor(
                        expectedColor = Color.parseHex("#BBBBBB"),
                        expectedFill = Color.parseHex("#141414")
                    )
                ),
                test(
                    themeOptions = minimalTheme + flavorOption + mapOf(
                        ThemeOption.TOOLTIP_RECT to mapOf(
                            ThemeOption.Elem.COLOR to Color.RED,
                            ThemeOption.Elem.FILL to Color.BLUE
                        )
                    ),
                    expected = tooltipRectColor(
                        expectedColor = Color.RED,
                        expectedFill = Color.BLUE
                    )
                ),
            )
        }