diff --git a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterFrTest.kt b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterFrTest.kt index 6301698406..cddfc5b8e0 100644 --- a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterFrTest.kt +++ b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterFrTest.kt @@ -10,10 +10,7 @@ package io.element.android.libraries.dateformatter.impl import androidx.test.ext.junit.runners.AndroidJUnit4 import com.google.common.truth.Truth.assertThat import io.element.android.libraries.dateformatter.api.DateFormatterMode -import io.element.android.libraries.dateformatter.test.FakeClock -import io.element.android.tests.testutils.InstrumentationStringProvider import kotlinx.datetime.Instant -import kotlinx.datetime.TimeZone import org.junit.Test import org.junit.runner.RunWith import org.robolectric.annotation.Config @@ -234,44 +231,4 @@ class DefaultDateFormatterFrTest { assertThat(formatter.format(ts, DateFormatterMode.TimeOrDate, true)).isEqualTo("06.04.1979") assertThat(formatter.format(ts, DateFormatterMode.TimeOnly, true)).isEqualTo("18:35") } - - /** - * Create DefaultLastMessageFormatter and set current time to the provided date. - */ - private fun createFormatter(@Suppress("SameParameterValue") currentDate: String): DefaultDateFormatter { - val clock = FakeClock().apply { givenInstant(Instant.parse(currentDate)) } - val localDateTimeProvider = LocalDateTimeProvider(clock) { TimeZone.UTC } - val dateFormatters = DateFormatters( - localeChangeObserver = {}, - clock = clock, - timeZoneProvider = { TimeZone.UTC }, - ) - val stringProvider = InstrumentationStringProvider() - val dateFormatterDay = DefaultDateFormatterDay( - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - ) - return DefaultDateFormatter( - dateFormatterFull = DateFormatterFull( - stringProvider = stringProvider, - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - dateFormatterDay = dateFormatterDay, - ), - dateFormatterMonth = DateFormatterMonth( - stringProvider = stringProvider, - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - ), - dateFormatterDay = dateFormatterDay, - dateFormatterTime = DateFormatterTime( - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - ), - dateFormatterTimeOnly = DateFormatterTimeOnly( - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - ), - ) - } } diff --git a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterTest.kt b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterTest.kt index 57db7bc260..142af801ea 100644 --- a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterTest.kt +++ b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterTest.kt @@ -10,10 +10,7 @@ package io.element.android.libraries.dateformatter.impl import androidx.test.ext.junit.runners.AndroidJUnit4 import com.google.common.truth.Truth.assertThat import io.element.android.libraries.dateformatter.api.DateFormatterMode -import io.element.android.libraries.dateformatter.test.FakeClock -import io.element.android.tests.testutils.InstrumentationStringProvider import kotlinx.datetime.Instant -import kotlinx.datetime.TimeZone import org.junit.Test import org.junit.runner.RunWith import org.robolectric.annotation.Config @@ -234,44 +231,4 @@ class DefaultDateFormatterTest { assertThat(formatter.format(ts, DateFormatterMode.TimeOrDate, true)).isEqualTo("06.04.1979") assertThat(formatter.format(ts, DateFormatterMode.TimeOnly, true)).isEqualTo("6:35 PM") } - - /** - * Create DefaultLastMessageFormatter and set current time to the provided date. - */ - private fun createFormatter(@Suppress("SameParameterValue") currentDate: String): DefaultDateFormatter { - val clock = FakeClock().apply { givenInstant(Instant.parse(currentDate)) } - val localDateTimeProvider = LocalDateTimeProvider(clock) { TimeZone.UTC } - val dateFormatters = DateFormatters( - localeChangeObserver = {}, - clock = clock, - timeZoneProvider = { TimeZone.UTC }, - ) - val stringProvider = InstrumentationStringProvider() - val dateFormatterDay = DefaultDateFormatterDay( - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - ) - return DefaultDateFormatter( - dateFormatterFull = DateFormatterFull( - stringProvider = stringProvider, - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - dateFormatterDay = dateFormatterDay, - ), - dateFormatterMonth = DateFormatterMonth( - stringProvider = stringProvider, - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - ), - dateFormatterDay = dateFormatterDay, - dateFormatterTime = DateFormatterTime( - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - ), - dateFormatterTimeOnly = DateFormatterTimeOnly( - localDateTimeProvider = localDateTimeProvider, - dateFormatters = dateFormatters, - ), - ) - } } diff --git a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/Factory.kt b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/Factory.kt new file mode 100644 index 0000000000..02993ee7d7 --- /dev/null +++ b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/Factory.kt @@ -0,0 +1,53 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.dateformatter.impl + +import io.element.android.libraries.dateformatter.test.FakeClock +import io.element.android.tests.testutils.InstrumentationStringProvider +import kotlinx.datetime.Instant +import kotlinx.datetime.TimeZone + +/** + * Create DefaultDateFormatter and set current time to the provided date. + */ +fun createFormatter(currentDate: String): DefaultDateFormatter { + val clock = FakeClock().apply { givenInstant(Instant.parse(currentDate)) } + val localDateTimeProvider = LocalDateTimeProvider(clock) { TimeZone.UTC } + val dateFormatters = DateFormatters( + localeChangeObserver = {}, + clock = clock, + timeZoneProvider = { TimeZone.UTC }, + ) + val stringProvider = InstrumentationStringProvider() + val dateFormatterDay = DefaultDateFormatterDay( + localDateTimeProvider = localDateTimeProvider, + dateFormatters = dateFormatters, + ) + return DefaultDateFormatter( + dateFormatterFull = DateFormatterFull( + stringProvider = stringProvider, + localDateTimeProvider = localDateTimeProvider, + dateFormatters = dateFormatters, + dateFormatterDay = dateFormatterDay, + ), + dateFormatterMonth = DateFormatterMonth( + stringProvider = stringProvider, + localDateTimeProvider = localDateTimeProvider, + dateFormatters = dateFormatters, + ), + dateFormatterDay = dateFormatterDay, + dateFormatterTime = DateFormatterTime( + localDateTimeProvider = localDateTimeProvider, + dateFormatters = dateFormatters, + ), + dateFormatterTimeOnly = DateFormatterTimeOnly( + localDateTimeProvider = localDateTimeProvider, + dateFormatters = dateFormatters, + ), + ) +}