Avoid code duplication between the 2 tests.
This commit is contained in:
parent
927f620a2f
commit
1b1ca04934
3 changed files with 53 additions and 86 deletions
|
|
@ -10,10 +10,7 @@ package io.element.android.libraries.dateformatter.impl
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.libraries.dateformatter.api.DateFormatterMode
|
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.Instant
|
||||||
import kotlinx.datetime.TimeZone
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
import org.robolectric.annotation.Config
|
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.TimeOrDate, true)).isEqualTo("06.04.1979")
|
||||||
assertThat(formatter.format(ts, DateFormatterMode.TimeOnly, true)).isEqualTo("18:35")
|
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,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,7 @@ package io.element.android.libraries.dateformatter.impl
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.libraries.dateformatter.api.DateFormatterMode
|
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.Instant
|
||||||
import kotlinx.datetime.TimeZone
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
import org.robolectric.annotation.Config
|
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.TimeOrDate, true)).isEqualTo("06.04.1979")
|
||||||
assertThat(formatter.format(ts, DateFormatterMode.TimeOnly, true)).isEqualTo("6:35 PM")
|
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,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue