package com.evsuite.abrp; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; /** The Overview styles — pure JVM. */ public class OverviewStyleTest { @Test public void storedValuesRoundTrip() { for (OverviewStyle style : OverviewStyle.values()) { assertEquals(style, OverviewStyle.fromPref(style.name())); } } @Test public void oldAndUnknownValues() { assertEquals(OverviewStyle.GAUGES, OverviewStyle.fromPref("DASHBOARD")); assertEquals(OverviewStyle.RETRO, OverviewStyle.fromPref("RETRO_ACCENT")); assertEquals(OverviewStyle.TERMINAL, OverviewStyle.fromPref("TERMINAL_ACCENT")); assertTrue(OverviewStyle.wasAccentEntry("RETRO_ACCENT")); assertFalse(OverviewStyle.wasAccentEntry("RETRO")); assertEquals(OverviewStyle.TILES, OverviewStyle.fromPref(null)); assertEquals(OverviewStyle.TILES, OverviewStyle.fromPref("NOPE")); } @Test public void colourOptions() { assertTrue(OverviewStyle.TILES.usesAccent); assertFalse(OverviewStyle.TILES.hasOriginal); assertTrue(OverviewStyle.RETRO.usesAccent); assertTrue(OverviewStyle.RETRO.hasOriginal); assertTrue(OverviewStyle.TERMINAL.hasOriginal); assertFalse(OverviewStyle.CARTOON.usesAccent); assertFalse(OverviewStyle.NIXIE.usesAccent); assertTrue(OverviewStyle.CHRONOGRAPH.usesAccent); } @Test public void removedStylesFallBackToTiles() { assertEquals(OverviewStyle.TILES, OverviewStyle.fromPref("MASCOT")); assertEquals(OverviewStyle.TILES, OverviewStyle.fromPref("BLUEPRINT")); assertEquals(OverviewStyle.TILES, OverviewStyle.fromPref("AVIATION")); } @Test public void ownPaletteForTheApp() { // Fixed palettes always; Retro and Terminal only with "Original colours". assertTrue(OverviewStyle.CARTOON.showsOwnPalette(false)); assertTrue(OverviewStyle.RETRO.showsOwnPalette(true)); assertFalse(OverviewStyle.RETRO.showsOwnPalette(false)); assertFalse(OverviewStyle.CHRONOGRAPH.showsOwnPalette(true)); // Every style shown in its own palette has the app's matching colours. for (OverviewStyle style : OverviewStyle.values()) { if (style.showsOwnPalette(true)) assertTrue(style.name(), StylePalette.overlay(style) != 0); else assertEquals(style.name(), 0, StylePalette.overlay(style)); } assertEquals(AccentColor.HOLBORN_BLUE.overlay, StylePalette.appOverlay(OverviewStyle.RETRO, false, AccentColor.HOLBORN_BLUE)); assertEquals(R.style.ThemeOverlay_EV_Style_Retro, StylePalette.appOverlay(OverviewStyle.RETRO, true, AccentColor.HOLBORN_BLUE)); assertEquals("original_colours_RETRO", OverviewStyle.RETRO.originalKey()); // Grid with map shares the Grid's choice. assertEquals(OverviewStyle.GRID.originalKey(), OverviewStyle.GRID_MAP.originalKey()); assertEquals(StylePalette.overlay(OverviewStyle.GRID), StylePalette.overlay(OverviewStyle.GRID_MAP)); } }