From d95fd11ba393d647657531ea68a5ca699cd217dd Mon Sep 17 00:00:00 2001 From: bhanu-dev82 Date: Thu, 22 Jan 2026 19:41:04 +0530 Subject: [PATCH 1/2] Refactor: Organize test files to match source package structure (#509) --- .../kotlin/be/scri/helpers/KeyboardTest.kt | 5 +--- .../PluralFormsManagerTest.kt} | 26 +++--------------- .../helpers/AlphanumericComparatorTest.kt | 3 +-- .../helpers/ComprehensiveCoverageTest.kt | 27 ------------------- 4 files changed, 5 insertions(+), 56 deletions(-) rename app/src/androidTest/kotlin/be/scri/helpers/{DatabaseTest.kt => data/PluralFormsManagerTest.kt} (68%) rename app/src/test/kotlin/{ => be/scri}/helpers/AlphanumericComparatorTest.kt (90%) delete mode 100644 app/src/test/kotlin/helpers/ComprehensiveCoverageTest.kt diff --git a/app/src/androidTest/kotlin/be/scri/helpers/KeyboardTest.kt b/app/src/androidTest/kotlin/be/scri/helpers/KeyboardTest.kt index f6613c8f..77735082 100644 --- a/app/src/androidTest/kotlin/be/scri/helpers/KeyboardTest.kt +++ b/app/src/androidTest/kotlin/be/scri/helpers/KeyboardTest.kt @@ -1,12 +1,9 @@ // SPDX-License-Identifier: GPL-3.0-or-later -package be.scri.ui +package be.scri.helpers import android.view.inputmethod.InputConnection import android.widget.Button import androidx.test.ext.junit.runners.AndroidJUnit4 -import be.scri.helpers.KeyHandler -import be.scri.helpers.KeyboardBase -import be.scri.helpers.SuggestionHandler import be.scri.services.GeneralKeyboardIME import be.scri.services.GeneralKeyboardIME.ScribeState import io.mockk.every diff --git a/app/src/androidTest/kotlin/be/scri/helpers/DatabaseTest.kt b/app/src/androidTest/kotlin/be/scri/helpers/data/PluralFormsManagerTest.kt similarity index 68% rename from app/src/androidTest/kotlin/be/scri/helpers/DatabaseTest.kt rename to app/src/androidTest/kotlin/be/scri/helpers/data/PluralFormsManagerTest.kt index ebde8c32..cdb5a5bb 100644 --- a/app/src/androidTest/kotlin/be/scri/helpers/DatabaseTest.kt +++ b/app/src/androidTest/kotlin/be/scri/helpers/data/PluralFormsManagerTest.kt @@ -1,39 +1,19 @@ // SPDX-License-Identifier: GPL-3.0-or-later -package be.scri.helpers +package be.scri.helpers.data import DataContract import android.database.Cursor import android.database.sqlite.SQLiteDatabase -import android.view.inputmethod.InputConnection import androidx.test.ext.junit.runners.AndroidJUnit4 -import be.scri.helpers.data.PluralFormsManager -import be.scri.services.GeneralKeyboardIME -import be.scri.services.GeneralKeyboardIME.ScribeState +import be.scri.helpers.DatabaseFileManager import io.mockk.every import io.mockk.mockk import org.junit.Assert.assertEquals -import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) -class DatabaseTest { - private lateinit var mockIME: GeneralKeyboardIME - private lateinit var mockInputConnection: InputConnection - private lateinit var keyHandler: KeyHandler - - @Before - fun setUp() { - mockIME = mockk(relaxed = true) - mockInputConnection = mockk(relaxed = true) - - every { mockIME.currentInputConnection } returns mockInputConnection - every { mockIME.keyboard } returns mockk(relaxed = true) - every { mockIME.currentState } returns ScribeState.IDLE - - keyHandler = KeyHandler(mockIME) - } - +class PluralFormsManagerTest { @Test fun testPluralCommandGeneratesCorrectOutput() { // Arrange diff --git a/app/src/test/kotlin/helpers/AlphanumericComparatorTest.kt b/app/src/test/kotlin/be/scri/helpers/AlphanumericComparatorTest.kt similarity index 90% rename from app/src/test/kotlin/helpers/AlphanumericComparatorTest.kt rename to app/src/test/kotlin/be/scri/helpers/AlphanumericComparatorTest.kt index 5365abaf..a6f95167 100644 --- a/app/src/test/kotlin/helpers/AlphanumericComparatorTest.kt +++ b/app/src/test/kotlin/be/scri/helpers/AlphanumericComparatorTest.kt @@ -4,9 +4,8 @@ * Testing for AlphanumericComparator. */ -package helpers +package be.scri.helpers -import be.scri.helpers.AlphanumericComparator import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test diff --git a/app/src/test/kotlin/helpers/ComprehensiveCoverageTest.kt b/app/src/test/kotlin/helpers/ComprehensiveCoverageTest.kt deleted file mode 100644 index 7b649c7f..00000000 --- a/app/src/test/kotlin/helpers/ComprehensiveCoverageTest.kt +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -package helpers -import android.provider.SyncStateContract.Constants -import androidx.test.ext.junit.runners.AndroidJUnit4 -import be.scri.activities.MainActivity -import be.scri.helpers.AlphanumericComparator -import org.junit.jupiter.api.Test -import org.junit.runner.RunWith - -@RunWith(AndroidJUnit4::class) -class ComprehensiveCoverageTest { - @Test - fun touchAllClasses() { - try { - MainActivity() - } catch (_: Exception) { - } - try { - AlphanumericComparator() - } catch (_: Exception) { - } - try { - Constants() - } catch (_: Exception) { - } - } -} From ba15fecb04f5d3fea076a142fb71c108a6c00f04 Mon Sep 17 00:00:00 2001 From: bhanu-dev82 Date: Thu, 22 Jan 2026 19:53:20 +0530 Subject: [PATCH 2/2] Test: Add unit tests for StringUtils to improve coverage --- .../kotlin/be/scri/helpers/StringUtilsTest.kt | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 app/src/test/kotlin/be/scri/helpers/StringUtilsTest.kt diff --git a/app/src/test/kotlin/be/scri/helpers/StringUtilsTest.kt b/app/src/test/kotlin/be/scri/helpers/StringUtilsTest.kt new file mode 100644 index 00000000..9701d114 --- /dev/null +++ b/app/src/test/kotlin/be/scri/helpers/StringUtilsTest.kt @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +package be.scri.helpers + +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue +import org.junit.Test + +class StringUtilsTest { + @Test + fun isWordCapitalized_returnsTrue_forCapitalizedWord() { + assertTrue(StringUtils.isWordCapitalized("Hello")) + } + + @Test + fun isWordCapitalized_returnsFalse_forLowercaseWord() { + assertFalse(StringUtils.isWordCapitalized("hello")) + } + + @Test + fun isWordCapitalized_returnsFalse_forEmptyString() { + assertFalse(StringUtils.isWordCapitalized("")) + } + + @Test + fun isWordCapitalized_returnsTrue_forSingleUppercaseLetter() { + assertTrue(StringUtils.isWordCapitalized("A")) + } + + @Test + fun isWordCapitalized_returnsFalse_forSingleLowercaseLetter() { + assertFalse(StringUtils.isWordCapitalized("a")) + } + + @Test + fun isWordCapitalized_returnsFalse_forNumberStartingString() { + assertFalse(StringUtils.isWordCapitalized("1hello")) + } +}