From 0b45fe63f00860e26b818ac399095a65121cf1b1 Mon Sep 17 00:00:00 2001 From: cpfeiffer Date: Sun, 5 Mar 2017 19:44:31 +0100 Subject: [PATCH] Fix up the testcases Please check if transliteration of Hebrew in LnaguageUtilsTest is correct. It works just fine if you follow the mapping in LanguageUtils. Test all transliteration in LanguageUtils only, the test in DeviceCommunicationServiceTest does not need to be done for every language. Also use assertEquals(expected, value) instead of assertTrue(expected.equals(value)); --- .../DeviceCommunicationServiceTestCase.java | 18 ++---------------- .../gadgetbridge/test/LanguageUtilsTest.java | 7 ++++--- .../gadgetbridge/test/TestBase.java | 7 +++++++ 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationServiceTestCase.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationServiceTestCase.java index 8625feba..5412af26 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationServiceTestCase.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationServiceTestCase.java @@ -102,7 +102,7 @@ public class DeviceCommunicationServiceTestCase extends TestBase { } @Test - public void testTransliterationSupportCyrillic() { + public void testTransliterationSupport() { SharedPreferences settings = GBApplication.getPrefs().getPreferences(); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean("transliteration", true); @@ -112,20 +112,6 @@ public class DeviceCommunicationServiceTestCase extends TestBase { mDeviceService.invokeService(intent); String result = intent.getStringExtra(EXTRA_NOTIFICATION_BODY); - assertTrue("Transliteration support fail!", result.equals("Prosto tekct")); - } - - @Test - public void testTransliterationSupportHebrew() { - SharedPreferences settings = GBApplication.getPrefs().getPreferences(); - SharedPreferences.Editor editor = settings.edit(); - editor.putBoolean("transliteration", true); - editor.commit(); - - Intent intent = mDeviceService.createIntent().putExtra(EXTRA_NOTIFICATION_BODY, "בדיקה עברית"); - mDeviceService.invokeService(intent); - String result = intent.getStringExtra(EXTRA_NOTIFICATION_BODY); - - assertTrue("Transliteration support fail!", result.equals("bdykh 'vrith")); + assertEquals("Transliteration support fail!", "Prosto tekct", result); } } diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/LanguageUtilsTest.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/LanguageUtilsTest.java index c2260451..ad5b8bb1 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/LanguageUtilsTest.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/LanguageUtilsTest.java @@ -7,6 +7,7 @@ import org.junit.Test; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.util.LanguageUtils; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -21,7 +22,7 @@ public class LanguageUtilsTest extends TestBase { String output = LanguageUtils.transliterate(input); String result = "Prosto tekct"; - assertTrue(String.format("Transliteration fail! Expected '%s', but found '%s'}", result, output), output.equals(result)); + assertEquals("Transliteration failed", result, output); } @Test @@ -29,9 +30,9 @@ public class LanguageUtilsTest extends TestBase { //input with cyrillic and diacritic letters String input = "בדיקה עברית"; String output = LanguageUtils.transliterate(input); - String result = "bdykh 'brith"; + String result = "bdykh 'bryth"; - assertTrue(String.format("Transliteration fail! Expected '%s', but found '%s'}", result, output), output.equals(result)); + assertEquals("Transliteration failed", result, output); } @Test diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/TestBase.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/TestBase.java index 91f25328..298c1c38 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/TestBase.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/TestBase.java @@ -26,6 +26,13 @@ import nodomain.freeyourgadget.gadgetbridge.util.FileUtils; import static org.junit.Assert.assertNotNull; +/** + * Base class for all testcases in Gadgetbridge that are supposed to run locally + * with robolectric. + * + * Important: To run them, create a run configuration and execute them in the Gadgetbridge/app/ + * directory. + */ @RunWith(RobolectricTestRunner.class) @Config(constants = BuildConfig.class, sdk = 19) // need sdk 19 because "WITHOUT ROWID" is not supported in robolectric/sqlite4java