🐛 Fix broken change detection
[rhynodge.git] / src / test / kotlin / net / pterodactylus / rhynodge / mergers / ComicMergerTest.kt
1 package net.pterodactylus.rhynodge.mergers
2
3 import net.pterodactylus.rhynodge.states.ComicState
4 import net.pterodactylus.rhynodge.states.ComicState.Comic
5 import org.hamcrest.MatcherAssert.assertThat
6 import org.hamcrest.Matchers.contains
7 import org.junit.Test
8
9 class ComicMergerTest {
10
11         private val comicMerger = ComicMerger()
12
13         @Test
14         fun `comic merger does not reorder comics`() {
15                 val oldComicState = ComicState(generateListOfComics())
16                 val newComicState = ComicState(generateListOfComics().plusElement(Comic("new 1")))
17                 val mergedComicState = comicMerger.mergeStates(oldComicState, newComicState) as ComicState
18                 assertThat(mergedComicState.comics(), contains(*generateListOfComics().plusElement(Comic("new 1")).toTypedArray()))
19         }
20
21 }
22
23 private fun generateListOfComics(): List<Comic> = (1..40).map { Comic("comic $it") }