mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
Extract createMatrixTimelineDiffProcessor from class.
This commit is contained in:
+16
-14
@@ -31,7 +31,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `Append adds new entries at the end of the list`() = runTest {
|
fun `Append adds new entries at the end of the list`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent)
|
timelineItems.value = listOf(anEvent)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.APPEND)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.APPEND)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(2)
|
assertThat(timelineItems.value.count()).isEqualTo(2)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -43,7 +43,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `PushBack adds a new entry at the end of the list`() = runTest {
|
fun `PushBack adds a new entry at the end of the list`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent)
|
timelineItems.value = listOf(anEvent)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.PUSH_BACK)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.PUSH_BACK)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(2)
|
assertThat(timelineItems.value.count()).isEqualTo(2)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -55,7 +55,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `PushFront inserts a new entry at the start of the list`() = runTest {
|
fun `PushFront inserts a new entry at the start of the list`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent)
|
timelineItems.value = listOf(anEvent)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.PUSH_FRONT)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.PUSH_FRONT)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(2)
|
assertThat(timelineItems.value.count()).isEqualTo(2)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -67,7 +67,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `Set replaces an entry at some index`() = runTest {
|
fun `Set replaces an entry at some index`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent, anEvent2)
|
timelineItems.value = listOf(anEvent, anEvent2)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.SET)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.SET)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(2)
|
assertThat(timelineItems.value.count()).isEqualTo(2)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -79,7 +79,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `Insert inserts a new entry at the provided index`() = runTest {
|
fun `Insert inserts a new entry at the provided index`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent, anEvent2)
|
timelineItems.value = listOf(anEvent, anEvent2)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.INSERT)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.INSERT)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(3)
|
assertThat(timelineItems.value.count()).isEqualTo(3)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -92,7 +92,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `Remove removes an entry at some index`() = runTest {
|
fun `Remove removes an entry at some index`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2)
|
timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.REMOVE)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.REMOVE)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(2)
|
assertThat(timelineItems.value.count()).isEqualTo(2)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -104,7 +104,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `PopBack removes an entry at the end of the list`() = runTest {
|
fun `PopBack removes an entry at the end of the list`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent, anEvent2)
|
timelineItems.value = listOf(anEvent, anEvent2)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.POP_BACK)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.POP_BACK)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(1)
|
assertThat(timelineItems.value.count()).isEqualTo(1)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -115,7 +115,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `PopFront removes an entry at the start of the list`() = runTest {
|
fun `PopFront removes an entry at the start of the list`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent, anEvent2)
|
timelineItems.value = listOf(anEvent, anEvent2)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.POP_FRONT)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.POP_FRONT)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(1)
|
assertThat(timelineItems.value.count()).isEqualTo(1)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -126,7 +126,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `Clear removes all the entries`() = runTest {
|
fun `Clear removes all the entries`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent, anEvent2)
|
timelineItems.value = listOf(anEvent, anEvent2)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.CLEAR)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.CLEAR)))
|
||||||
assertThat(timelineItems.value).isEmpty()
|
assertThat(timelineItems.value).isEmpty()
|
||||||
}
|
}
|
||||||
@@ -134,7 +134,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `Truncate removes all entries after the provided length`() = runTest {
|
fun `Truncate removes all entries after the provided length`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2)
|
timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.TRUNCATE)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.TRUNCATE)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(1)
|
assertThat(timelineItems.value.count()).isEqualTo(1)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
@@ -145,15 +145,18 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `Reset removes all entries and add the provided ones`() = runTest {
|
fun `Reset removes all entries and add the provided ones`() = runTest {
|
||||||
timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2)
|
timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2)
|
||||||
val processor = createProcessor()
|
val processor = createMatrixTimelineDiffProcessor(timelineItems)
|
||||||
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.RESET)))
|
processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.RESET)))
|
||||||
assertThat(timelineItems.value.count()).isEqualTo(1)
|
assertThat(timelineItems.value.count()).isEqualTo(1)
|
||||||
assertThat(timelineItems.value).containsExactly(
|
assertThat(timelineItems.value).containsExactly(
|
||||||
MatrixTimelineItem.Other,
|
MatrixTimelineItem.Other,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun TestScope.createProcessor(): MatrixTimelineDiffProcessor {
|
internal fun TestScope.createMatrixTimelineDiffProcessor(
|
||||||
|
timelineItems: MutableStateFlow<List<MatrixTimelineItem>>,
|
||||||
|
): MatrixTimelineDiffProcessor {
|
||||||
val timelineEventContentMapper = TimelineEventContentMapper()
|
val timelineEventContentMapper = TimelineEventContentMapper()
|
||||||
val timelineItemMapper = MatrixTimelineItemMapper(
|
val timelineItemMapper = MatrixTimelineItemMapper(
|
||||||
fetchDetailsForEvent = { _ -> Result.success(Unit) },
|
fetchDetailsForEvent = { _ -> Result.success(Unit) },
|
||||||
@@ -164,8 +167,7 @@ class MatrixTimelineDiffProcessorTest {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
return MatrixTimelineDiffProcessor(
|
return MatrixTimelineDiffProcessor(
|
||||||
timelineItems,
|
timelineItems = timelineItems,
|
||||||
timelineItemFactory = timelineItemMapper,
|
timelineItemFactory = timelineItemMapper,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user