From c3e7a45629dd1e76f482e7dee51b4dab583b7368 Mon Sep 17 00:00:00 2001 From: apopovsap <66370584+apopovsap@users.noreply.github.com> Date: Sun, 7 Jun 2020 19:12:54 +0300 Subject: [PATCH] Tests/formatter (#215) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add unit test for util.formatter.formatterHelper * Add tests for FormatterHelperTest & FormatterSettingsHelperTest * Add tests for FormatterHelperTest & FormatterSettingsHelperTest * actualised FormatterHelperTest & FormatterSettingsHelperTest * relevant with dev branch Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by: Jakob Möller <jakob.moeller@sap.com> --- .../util/formatter/FormatterHelperTest.kt | 156 ++++ .../formatter/FormatterSettingsHelperTest.kt | 671 ++++++++++++++++++ 2 files changed, 827 insertions(+) create mode 100644 Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt create mode 100644 Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelperTest.kt diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt new file mode 100644 index 000000000..adc407f7a --- /dev/null +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt @@ -0,0 +1,156 @@ +package de.rki.coronawarnapp.util.formatter + +import android.content.Context +import android.graphics.drawable.Drawable +import android.view.View +import de.rki.coronawarnapp.CoronaWarnApplication +import io.mockk.MockKAnnotations +import io.mockk.every +import io.mockk.impl.annotations.MockK +import io.mockk.mockkObject +import io.mockk.unmockkAll +import org.hamcrest.CoreMatchers.`is` +import org.hamcrest.CoreMatchers.equalTo +import org.hamcrest.MatcherAssert.assertThat +import org.junit.After +import org.junit.Before +import org.junit.Test + + +class FormatterHelperTest { + + @MockK + private lateinit var context: Context + + @MockK + private lateinit var drawable: Drawable + + @Before + fun setUp() { + MockKAnnotations.init(this) + mockkObject(CoronaWarnApplication.Companion) + + every { CoronaWarnApplication.getAppContext() } returns context + + } + + private fun formatVisibilityBase(bValue: Boolean, iResult: Int){ + val result = formatVisibility(value = bValue) + assertThat(result, `is`((iResult))) + } + + private fun formatVisibilityIconBase(anyDrawable: Any?, iResult: Int) { + val result = formatVisibilityIcon(drawable = anyDrawable) + assertThat(result, `is`((iResult))) + } + + private fun formatVisibilityInvertedBase(bValue: Boolean){ + val result = formatVisibilityInverted(value = bValue) + assertThat(result, `is`((formatVisibility(!bValue)))) + } + + private fun formatVisibilityTextBase(bValue: Boolean, sText: String?){ + val result = formatVisibilityText(text = sText) + assertThat(result, `is`((formatVisibility(bValue)))) + } + + private fun formatTextBase(bValue: Boolean?, iResult: Int) { + every { context.getString(1) } returns "true string" + every { context.getString(2) } returns "false string" + + val result = formatText(value = bValue, stringTrue = 1, stringFalse = 2) + assertThat(result, `is`((CoronaWarnApplication.getAppContext().getString(iResult)))) + } + + private fun formatDrawableBase(bValue: Boolean) { + every { context.getDrawable(1) } returns drawable + every { context.getDrawable(2) } returns drawable + + val result = formatDrawable(value = bValue, drawableTrue = 1, drawableFalse = 2) + assertThat(result, `is`((equalTo(drawable)))) + } + + private fun formatColorBase(bValue: Boolean, iColor: Int) { + every { context.getColor(1) } returns 1 + every { context.getColor(2) } returns 2 + + val result = formatColor(value = bValue, colorTrue = 1, colorFalse = 2) + assertThat(result, `is`((context.getColor(iColor)))) + } + + @Test + fun formatVisibility() { + // Check visibility when value true + formatVisibilityBase(bValue = true, iResult = View.VISIBLE) + + // Check visibility when value false + formatVisibilityBase(bValue = false, iResult = View.GONE) + } + + @Test + fun formatVisibilityIcon() { + // Check visibilityIcon when value not null + formatVisibilityIconBase(anyDrawable = Any(), iResult = View.VISIBLE) + + // Check visibilityIcon when value null + formatVisibilityIconBase(anyDrawable = null, iResult = View.GONE) + } + + @Test + fun formatVisibilityInverted(){ + // Check visibilityIcon when value true + formatVisibilityInvertedBase(bValue = true) + + // Check visibilityIcon when value false + formatVisibilityInvertedBase(bValue = false) + } + + @Test + fun formatVisibilityText(){ + // Check visibilityText when value true and text is not empty + formatVisibilityTextBase(bValue = true, sText = "NOT_NULL_STRING") + + // Check visibilityText when value true and text is null + formatVisibilityTextBase(bValue = false, sText = null) + + // Check visibilityText when value true and text is empty + formatVisibilityTextBase(bValue = false, sText = "") + } + + @Test + fun formatText(){ + // Check formatText when value true + formatTextBase(bValue = true, iResult = 1) + + // Check formatText when value false + formatTextBase(bValue = false, iResult = 2) + + // Check formatText when value false + formatTextBase(bValue = null, iResult = 2) + } + + + @Test + fun formatDrawable() { + // Check formatDrawable when value true + formatDrawableBase(bValue = true) + + // Check formatDrawable when value false + formatDrawableBase(bValue = false) + } + + @Test + fun formatColorFalse() { + // Check formatColor when value true + formatColorBase(bValue = true, iColor = 1) + + // Check formatColor when value false + formatColorBase(bValue = false, iColor = 2) + } + + @After + fun cleanUp() { + unmockkAll() + } + +} diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelperTest.kt new file mode 100644 index 000000000..8b757701a --- /dev/null +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelperTest.kt @@ -0,0 +1,671 @@ +package de.rki.coronawarnapp.util.formatter + +import android.content.Context +import android.graphics.drawable.Drawable +import de.rki.coronawarnapp.CoronaWarnApplication +import de.rki.coronawarnapp.R +import io.mockk.MockKAnnotations +import io.mockk.every +import io.mockk.impl.annotations.MockK +import io.mockk.mockkObject +import io.mockk.unmockkAll +import org.hamcrest.CoreMatchers +import org.hamcrest.CoreMatchers.`is` +import org.hamcrest.MatcherAssert.assertThat +import org.junit.After +import org.junit.Before +import org.junit.Test + +class FormatterSettingsHelperTest { + + @MockK + private lateinit var context: Context + + @MockK + private lateinit var drawable: Drawable + + @Before + fun setUp() { + MockKAnnotations.init(this) + mockkObject(CoronaWarnApplication) + + every { CoronaWarnApplication.getAppContext() } returns context + every { context.getString(R.string.settings_on) } returns "settings_on" + every { context.getString(R.string.settings_off) } returns "settings_off" + every { context.getString(R.string.settings_notifications_headline_active) } returns "settings_notifications_headline_active" + every { context.getString(R.string.settings_notifications_headline_inactive) } returns "settings_notifications_headline_inactive" + every { context.getString(R.string.settings_notifications_body_active) } returns "settings_notifications_body_active" + every { context.getString(R.string.settings_notifications_body_inactive) } returns "settings_notifications_body_inactive" + every { context.getColor(R.color.colorAccentTintIcon) } returns R.color.colorAccentTintIcon + every { context.getColor(R.color.colorTextPrimary3) } returns R.color.colorTextPrimary3 + + } + + private fun formatStatusBase(bValue: Boolean) { + val result = formatStatus(value = bValue) + assertThat( + result, `is`( + (formatText( + bValue, + R.string.settings_on, + R.string.settings_off + )) + ) + ) + } + + private fun formatNotificationsStatusTextBase( + bNotifications: Boolean, + bNotificationsRisk: Boolean, + bNotificationsTest: Boolean, + bValue: Boolean + ) { + val result = formatNotificationsStatusText( + notifications = bNotifications, + notificationsRisk = bNotificationsRisk, + notificationsTest = bNotificationsTest + ) + assertThat(result, `is`((formatStatus(bValue)))) + } + + private fun formatTracingStatusBase(bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, iValue: Int) { + every { context.getString(R.string.settings_tracing_status_restricted) } returns R.string.settings_tracing_status_restricted.toString() + every { context.getString(R.string.settings_tracing_status_active) } returns R.string.settings_tracing_status_active.toString() + every { context.getString(R.string.settings_tracing_status_inactive) } returns R.string.settings_tracing_status_inactive.toString() + + val result = formatTracingStatusText(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat(result, `is`((context.getString(iValue)))) + } + + private fun formatTracingDescriptionBase( + bTracing: Boolean, + bBluetooth: Boolean, + bConnection: Boolean, + iValue: Int + ) { + every { context.getString(R.string.settings_tracing_body_bluetooth_inactive) } returns R.string.settings_tracing_body_bluetooth_inactive.toString() + every { context.getString(R.string.settings_tracing_body_connection_inactive) } returns R.string.settings_tracing_body_connection_inactive.toString() + every { context.getString(R.string.settings_tracing_body_active) } returns R.string.settings_tracing_body_active.toString() + every { context.getString(R.string.settings_tracing_body_inactive) } returns R.string.settings_tracing_body_inactive.toString() + + val result = formatTracingDescription(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat(result, `is`((context.getString(iValue)))) + } + + private fun formatNotificationsTitleBase(bValue: Boolean) { + val result = formatNotificationsTitle(notifications = bValue) + assertThat( + result, `is`( + (formatText( + bValue, + R.string.settings_notifications_headline_active, + R.string.settings_notifications_headline_inactive + )) + ) + ) + } + + private fun formatNotificationsDescriptionBase(bValue: Boolean) { + val result = formatNotificationsDescription(notifications = bValue) + assertThat( + result, `is`( + (formatText( + bValue, + R.string.settings_notifications_body_active, + R.string.settings_notifications_body_inactive + )) + ) + ) + } + + private fun formatIconColorBase(bActive: Boolean) { + val result = formatIconColor(active = bActive) + assertThat( + result, `is`( + (formatColor(bActive, R.color.colorAccentTintIcon, R.color.colorTextPrimary3)) + ) + ) + } + + private fun formatTracingSwitchBase(bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, bValue: Boolean) { + val result = formatTracingSwitch(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat( + result, `is`(bValue) + ) + } + + private fun formatTracingSwitchEnabledBase( + bTracing: Boolean, + bBluetooth: Boolean, + bConnection: Boolean, + bValue: Boolean + ) { + val result = formatTracingSwitchEnabled(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat( + result, `is`(bValue) + ) + } + + private fun formatTracingIconBase(bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean) { + every { context.getDrawable(R.drawable.ic_settings_tracing_bluetooth_inactive) } returns drawable + every { context.getDrawable(R.drawable.ic_settings_tracing_connection_inactive) } returns drawable + every { context.getDrawable(R.drawable.ic_settings_tracing_active) } returns drawable + every { context.getDrawable(R.drawable.ic_settings_tracing_inactive) } returns drawable + + val result = formatTracingIcon(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat( + result, `is`(CoreMatchers.equalTo(drawable)) + ) + } + + private fun formatTracingIconColorBase(bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean, iColor: Int) { + every { context.getColor(R.color.colorAccentTintIcon) } returns R.color.colorAccentTintIcon + every { context.getColor(R.color.colorTextSemanticRed) } returns R.color.colorTextSemanticRed + + val result = formatTracingIconColor(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat( + result, `is`(context.getColor(iColor)) + ) + } + + private fun formatTracingStatusImageBase(bTracing: Boolean, bBluetooth: Boolean, bConnection: Boolean) { + every { context.getDrawable(R.drawable.ic_settings_illustration_bluetooth_off) } returns drawable + every { context.getDrawable(R.drawable.ic_settings_illustration_connection_off) } returns drawable + every { context.getDrawable(R.drawable.ic_illustration_tracing_on) } returns drawable + every { context.getDrawable(R.drawable.ic_settings_illustration_tracing_off) } returns drawable + + val result = formatTracingStatusImage(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat( + result, `is`(CoreMatchers.equalTo(drawable)) + ) + } + + private fun formatTracingStatusConnectionBase( + bTracing: Boolean, + bBluetooth: Boolean, + bConnection: Boolean + ) { + val result = formatTracingStatusConnection(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat(true, `is`(result > -1)) + } + + private fun formatTracingStatusVisibilityTracingBase( + bTracing: Boolean, + bBluetooth: Boolean, + bConnection: Boolean + ) { + val result = + formatTracingStatusVisibilityTracing(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat(true, `is`(result > -1)) + } + + private fun formatTracingStatusVisibilityBluetoothBase( + bTracing: Boolean, + bBluetooth: Boolean, + bConnection: Boolean + ) { + val result = + formatTracingStatusVisibilityBluetooth(tracing = bTracing, bluetooth = bBluetooth, connection = bConnection) + assertThat(true, `is`(result > -1)) + } + + private fun formatNotificationImageBase(bNotifications: Boolean) { + every { context.getDrawable(R.drawable.ic_illustration_notification_on) } returns drawable + every { context.getDrawable(R.drawable.ic_settings_illustration_notification_off) } returns drawable + + val result = formatDrawable( + bNotifications, + R.drawable.ic_illustration_notification_on, + R.drawable.ic_settings_illustration_notification_off + ) + assertThat( + result, `is`(CoreMatchers.equalTo(drawable)) + ) + } + + + @Test + fun formatStatus() { + // When status true + formatStatusBase(true) + + // When status false + formatStatusBase(false) + } + + @Test + fun formatNotificationsStatusText() { + // When notifications is true, notificationsRisk is true, notificationsTest is true + formatNotificationsStatusTextBase( + bNotifications = true, + bNotificationsRisk = true, + bNotificationsTest = true, bValue = true + ) + + // When notifications is false, notificationsRisk is false, notificationsTest is false + formatNotificationsStatusTextBase( + bNotifications = false, + bNotificationsRisk = true, + bNotificationsTest = true, + bValue = false + ) + + // When notifications is true, notificationsRisk is false, notificationsTest is true + formatNotificationsStatusTextBase( + bNotifications = true, + bNotificationsRisk = false, + bNotificationsTest = true, + bValue = true + ) + + // When notifications is true, notificationsRisk is true, notificationsTest is false + formatNotificationsStatusTextBase( + bNotifications = true, + bNotificationsRisk = true, + bNotificationsTest = false, + bValue = true + ) + + // When notifications is true, notificationsRisk is false, notificationsTest is false + formatNotificationsStatusTextBase( + bNotifications = true, + bNotificationsRisk = false, + bNotificationsTest = false, + bValue = false + ) + + // When notifications is false, notificationsRisk is false, notificationsTest is false + formatNotificationsStatusTextBase( + bNotifications = false, + bNotificationsRisk = false, + bNotificationsTest = false, + bValue = false + ) + + // When notifications is false, notificationsRisk is true, notificationsTest is false + formatNotificationsStatusTextBase( + bNotifications = false, + bNotificationsRisk = true, + bNotificationsTest = false, + bValue = false + ) + + // When notifications is false, notificationsRisk is false, notificationsTest is true + formatNotificationsStatusTextBase( + bNotifications = false, + bNotificationsRisk = false, + bNotificationsTest = true, + bValue = false + ) + + } + + @Test + fun formatTracingStatusText() { + // When tracing is true, bluetooth is true, connection is true + formatTracingStatusBase( + bTracing = true, + bBluetooth = true, + bConnection = true, + iValue = R.string.settings_tracing_status_active + ) + + // When tracing is false, bluetooth is false, connection is false + formatTracingStatusBase( + bTracing = false, + bBluetooth = false, + bConnection = false, + iValue = R.string.settings_tracing_status_inactive + ) + + // When tracing is true, bluetooth is false, connection is false + formatTracingStatusBase( + bTracing = true, + bBluetooth = false, + bConnection = false, + iValue = R.string.settings_tracing_status_restricted + ) + + // When tracing is true, bluetooth is true, connection is false + formatTracingStatusBase( + bTracing = true, + bBluetooth = true, + bConnection = false, + iValue = R.string.settings_tracing_status_restricted + ) + + // When tracing is false, bluetooth is true, connection is false + formatTracingStatusBase( + bTracing = false, + bBluetooth = true, + bConnection = false, + iValue = R.string.settings_tracing_status_inactive + ) + + // When tracing is false, bluetooth is true, connection is true + formatTracingStatusBase( + bTracing = false, + bBluetooth = true, + bConnection = true, + iValue = R.string.settings_tracing_status_inactive + ) + + // When tracing is true, bluetooth is false, connection is true + formatTracingStatusBase( + bTracing = true, + bBluetooth = false, + bConnection = true, + iValue = R.string.settings_tracing_status_restricted + ) + + // When tracing is false, bluetooth is false, connection is true + formatTracingStatusBase( + bTracing = false, + bBluetooth = false, + bConnection = true, + iValue = R.string.settings_tracing_status_inactive + ) + + } + + @Test + fun formatTracingDescription() { + // When tracing is true, bluetooth is true, connection is true + formatTracingDescriptionBase( + bTracing = true, + bBluetooth = true, + bConnection = true, + iValue = R.string.settings_tracing_body_active + ) + + // When tracing is false, bluetooth is false, connection is false + formatTracingDescriptionBase( + bTracing = false, + bBluetooth = false, + bConnection = false, + iValue = R.string.settings_tracing_body_inactive + ) + + // When tracing is true, bluetooth is false, connection is false + formatTracingDescriptionBase( + bTracing = true, + bBluetooth = false, + bConnection = false, + iValue = R.string.settings_tracing_body_bluetooth_inactive + ) + + // When tracing is true, bluetooth is true, connection is false + formatTracingDescriptionBase( + bTracing = true, + bBluetooth = true, + bConnection = false, + iValue = R.string.settings_tracing_body_connection_inactive + ) + + // When tracing is false, bluetooth is true, connection is false + formatTracingDescriptionBase( + bTracing = false, + bBluetooth = true, + bConnection = false, + iValue = R.string.settings_tracing_body_inactive + ) + + // When tracing is false, bluetooth is true, connection is true + formatTracingDescriptionBase( + bTracing = false, + bBluetooth = true, + bConnection = true, + iValue = R.string.settings_tracing_body_inactive + ) + + // When tracing is true, bluetooth is false, connection is true + formatTracingDescriptionBase( + bTracing = true, + bBluetooth = false, + bConnection = true, + iValue = R.string.settings_tracing_body_bluetooth_inactive + ) + + // When tracing is false, bluetooth is false, connection is true + formatTracingDescriptionBase( + bTracing = false, + bBluetooth = false, + bConnection = true, + iValue = R.string.settings_tracing_body_inactive + ) + + } + + @Test + fun formatNotificationsTitle() { + // When status true + formatNotificationsTitleBase(bValue = true) + + // When status false + formatNotificationsTitleBase(bValue = false) + } + + @Test + fun formatNotificationsDescription() { + // When status true + formatNotificationsDescriptionBase(bValue = true) + + // When status false + formatNotificationsDescriptionBase(bValue = false) + } + + @Test + fun formatIconColor() { + // When status true + formatIconColorBase(bActive = true) + + // When status false + formatIconColorBase(bActive = false) + } + + @Test + fun formatTracingSwitch() { + formatTracingSwitchBase(bTracing = true, bBluetooth = true, bConnection = true, bValue = true) + + formatTracingSwitchBase(bTracing = false, bBluetooth = false, bConnection = false, bValue = false) + + formatTracingSwitchBase(bTracing = false, bBluetooth = false, bConnection = true, bValue = false) + + formatTracingSwitchBase(bTracing = false, bBluetooth = true, bConnection = false, bValue = false) + + formatTracingSwitchBase(bTracing = false, bBluetooth = true, bConnection = true, bValue = false) + + formatTracingSwitchBase(bTracing = true, bBluetooth = false, bConnection = false, bValue = false) + + formatTracingSwitchBase(bTracing = true, bBluetooth = false, bConnection = true, bValue = false) + + formatTracingSwitchBase(bTracing = true, bBluetooth = true, bConnection = false, bValue = false) + } + + @Test + fun formatTracingSwitchEnabled() { + + formatTracingSwitchEnabledBase(bTracing = true, bBluetooth = true, bConnection = true, bValue = true) + + formatTracingSwitchEnabledBase(bTracing = false, bBluetooth = false, bConnection = false, bValue = true) + + formatTracingSwitchEnabledBase(bTracing = false, bBluetooth = false, bConnection = true, bValue = true) + + formatTracingSwitchEnabledBase(bTracing = false, bBluetooth = true, bConnection = false, bValue = true) + + formatTracingSwitchEnabledBase(bTracing = false, bBluetooth = true, bConnection = true, bValue = true) + + formatTracingSwitchEnabledBase(bTracing = true, bBluetooth = false, bConnection = false, bValue = false) + + formatTracingSwitchEnabledBase(bTracing = true, bBluetooth = false, bConnection = true, bValue = false) + + formatTracingSwitchEnabledBase(bTracing = true, bBluetooth = true, bConnection = false, bValue = false) + } + + @Test + fun formatTracingIcon() { + formatTracingIconBase(bTracing = true, bBluetooth = true, bConnection = true) + + formatTracingIconBase(bTracing = false, bBluetooth = false, bConnection = false) + + formatTracingIconBase(bTracing = false, bBluetooth = false, bConnection = true) + + formatTracingIconBase(bTracing = false, bBluetooth = true, bConnection = false) + + formatTracingIconBase(bTracing = false, bBluetooth = true, bConnection = true) + + formatTracingIconBase(bTracing = true, bBluetooth = false, bConnection = false) + + formatTracingIconBase(bTracing = true, bBluetooth = false, bConnection = true) + + formatTracingIconBase(bTracing = true, bBluetooth = true, bConnection = false) + } + + @Test + fun formatTracingIconColor() { + + formatTracingIconColorBase( + bTracing = true, + bBluetooth = true, + bConnection = true, + iColor = R.color.colorAccentTintIcon + ) + + formatTracingIconColorBase( + bTracing = false, + bBluetooth = false, + bConnection = false, + iColor = R.color.colorTextSemanticRed + ) + + formatTracingIconColorBase( + bTracing = false, + bBluetooth = false, + bConnection = true, + iColor = R.color.colorTextSemanticRed + ) + + formatTracingIconColorBase( + bTracing = false, + bBluetooth = true, + bConnection = false, + iColor = R.color.colorTextSemanticRed + ) + + formatTracingIconColorBase( + bTracing = false, + bBluetooth = true, + bConnection = true, + iColor = R.color.colorTextSemanticRed + ) + + formatTracingIconColorBase( + bTracing = true, + bBluetooth = false, + bConnection = false, + iColor = R.color.colorTextSemanticRed + ) + + formatTracingIconColorBase( + bTracing = true, + bBluetooth = false, + bConnection = true, + iColor = R.color.colorTextSemanticRed + ) + + formatTracingIconColorBase( + bTracing = true, + bBluetooth = true, + bConnection = false, + iColor = R.color.colorTextSemanticRed + ) + } + + @Test + fun formatTracingStatusImage() { + formatTracingStatusImageBase(bTracing = true, bBluetooth = true, bConnection = true) + + formatTracingStatusImageBase(bTracing = false, bBluetooth = false, bConnection = false) + + formatTracingStatusImageBase(bTracing = false, bBluetooth = false, bConnection = true) + + formatTracingStatusImageBase(bTracing = false, bBluetooth = true, bConnection = false) + + formatTracingStatusImageBase(bTracing = false, bBluetooth = true, bConnection = true) + + formatTracingStatusImageBase(bTracing = true, bBluetooth = false, bConnection = false) + + formatTracingStatusImageBase(bTracing = true, bBluetooth = false, bConnection = true) + + formatTracingStatusImageBase(bTracing = true, bBluetooth = true, bConnection = false) + } + + @Test + fun formatTracingStatusConnection() { + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = true) + + formatTracingStatusConnectionBase(bTracing = false, bBluetooth = false, bConnection = false) + + formatTracingStatusConnectionBase(bTracing = false, bBluetooth = false, bConnection = true) + + formatTracingStatusConnectionBase(bTracing = false, bBluetooth = true, bConnection = false) + + formatTracingStatusConnectionBase(bTracing = false, bBluetooth = true, bConnection = true) + + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = false) + + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = true) + + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = false) + } + + @Test + fun formatTracingStatusVisibilityBluetooth() { + formatTracingStatusVisibilityBluetoothBase(bTracing = true, bBluetooth = true, bConnection = true) + + formatTracingStatusVisibilityBluetoothBase(bTracing = false, bBluetooth = false, bConnection = false) + + formatTracingStatusVisibilityBluetoothBase(bTracing = false, bBluetooth = false, bConnection = true) + + formatTracingStatusVisibilityBluetoothBase(bTracing = false, bBluetooth = true, bConnection = false) + + formatTracingStatusVisibilityBluetoothBase(bTracing = false, bBluetooth = true, bConnection = true) + + formatTracingStatusVisibilityBluetoothBase(bTracing = true, bBluetooth = false, bConnection = false) + + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = false, bConnection = true) + + formatTracingStatusConnectionBase(bTracing = true, bBluetooth = true, bConnection = false) + } + + @Test + fun formatTracingStatusVisibilityTracing() { + formatTracingStatusVisibilityTracingBase(bTracing = true, bBluetooth = true, bConnection = true) + + formatTracingStatusVisibilityTracingBase(bTracing = false, bBluetooth = false, bConnection = false) + + formatTracingStatusVisibilityTracingBase(bTracing = false, bBluetooth = false, bConnection = true) + + formatTracingStatusVisibilityTracingBase(bTracing = false, bBluetooth = true, bConnection = false) + + formatTracingStatusVisibilityTracingBase(bTracing = false, bBluetooth = true, bConnection = true) + + formatTracingStatusVisibilityTracingBase(bTracing = true, bBluetooth = false, bConnection = false) + + formatTracingStatusVisibilityTracingBase(bTracing = true, bBluetooth = false, bConnection = true) + + formatTracingStatusVisibilityTracingBase(bTracing = true, bBluetooth = true, bConnection = false) + } + + @Test + fun formatNotificationImage() { + formatNotificationImageBase(bNotifications = true) + + formatNotificationImageBase(bNotifications = false) + } + + @After + fun cleanUp() { + unmockkAll() + } +} -- GitLab