From c9f5cda2958d55029cc8e1d1b02404582d956a0f Mon Sep 17 00:00:00 2001 From: LeanBitLab <245915690+LeanBitLab@users.noreply.github.com> Date: Sun, 24 May 2026 10:30:24 +0000 Subject: [PATCH] Add tests for boundary color indices in ColorResolver Adds tests for negative and extreme positive integer indices to `ColorResolverTest.kt` to ensure unexpected `idx` values correctly trigger the `else` branch logic. --- .../leanbitlab/lwidget/ColorResolverTest.kt | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/app/src/test/java/com/leanbitlab/lwidget/ColorResolverTest.kt b/app/src/test/java/com/leanbitlab/lwidget/ColorResolverTest.kt index 5ed50b2..70bcd27 100644 --- a/app/src/test/java/com/leanbitlab/lwidget/ColorResolverTest.kt +++ b/app/src/test/java/com/leanbitlab/lwidget/ColorResolverTest.kt @@ -283,4 +283,76 @@ class ColorResolverTest { assertEquals(Color.parseColor("#CCFFFFFF"), result) } + + @Test + fun testResolveColor_NegativeIdx_Primary() { + val mockContext = mock() + val mockPrefs = mock() + + val result = ColorResolver.resolveColor( + context = mockContext, + prefs = mockPrefs, + useDynamicColors = false, + idx = -1, + isPrimary = true, + isLight = true, + sdkInt = Build.VERSION_CODES.S + ) + + assertEquals(Color.WHITE, result) + } + + @Test + fun testResolveColor_NegativeIdx_Secondary() { + val mockContext = mock() + val mockPrefs = mock() + + val result = ColorResolver.resolveColor( + context = mockContext, + prefs = mockPrefs, + useDynamicColors = false, + idx = -999, + isPrimary = false, + isLight = false, + sdkInt = Build.VERSION_CODES.S + ) + + assertEquals(Color.parseColor("#CCFFFFFF"), result) + } + + @Test + fun testResolveColor_MaxIntIdx_Primary() { + val mockContext = mock() + val mockPrefs = mock() + + val result = ColorResolver.resolveColor( + context = mockContext, + prefs = mockPrefs, + useDynamicColors = false, + idx = Int.MAX_VALUE, + isPrimary = true, + isLight = true, + sdkInt = Build.VERSION_CODES.S + ) + + assertEquals(Color.WHITE, result) + } + + @Test + fun testResolveColor_MinIntIdx_Secondary() { + val mockContext = mock() + val mockPrefs = mock() + + val result = ColorResolver.resolveColor( + context = mockContext, + prefs = mockPrefs, + useDynamicColors = false, + idx = Int.MIN_VALUE, + isPrimary = false, + isLight = true, + sdkInt = Build.VERSION_CODES.S + ) + + assertEquals(Color.parseColor("#CCFFFFFF"), result) + } }