Added test to generate split hunk from diff result use case

This commit is contained in:
Abdelilah El Aissaoui 2023-08-19 15:13:22 +02:00
parent 17839bfaf1
commit 46ea80d9ce

View File

@ -0,0 +1,80 @@
package com.jetpackduba.gitnuro.git.diff
import io.mockk.mockk
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.Assertions.*
class GenerateSplitHunkFromDiffResultUseCaseTest {
private val generateSplitHunkFromDiffResultUseCase = GenerateSplitHunkFromDiffResultUseCase()
@Test
fun `generate splitHunk from hunk`() {
val lines = listOf(
Line(
text = " operator fun invoke() {",
oldLineNumber = 1,
newLineNumber = 1,
LineType.CONTEXT,
),
Line(
text = " operator fun invoke() {",
oldLineNumber = 2,
newLineNumber = 2,
LineType.REMOVED,
),
Line(
text = " operator fun invoke() {",
oldLineNumber = 2,
newLineNumber = 2,
LineType.ADDED,
),
Line(
text = " operator fun invoke() {",
oldLineNumber = 2,
newLineNumber = 3,
LineType.ADDED,
),
Line(
text = " operator fun invoke() {",
oldLineNumber = 3,
newLineNumber = 4,
LineType.CONTEXT,
)
)
val hunks = listOf(
Hunk(
header = "",
lines = lines
)
)
val diffResultText = DiffResult.Text(mockk(), hunks)
val splitDiff = generateSplitHunkFromDiffResultUseCase(diffResultText)
val splitHunk = splitDiff.first()
val splitHunkLines = splitHunk.lines
splitHunkLines[0].apply {
assertEquals(first, lines[0])
assertEquals(second, lines[0])
}
splitHunkLines[1].apply {
assertEquals(first, lines[1])
assertEquals(second, lines[2])
}
splitHunkLines[2].apply {
assertEquals(first, null)
assertEquals(second, lines[3])
}
splitHunkLines[3].apply {
assertEquals(first, lines[4])
assertEquals(second, lines[4])
}
}
}