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