Skip to content
This repository was archived by the owner on Jan 20, 2023. It is now read-only.

Commit 1c2b33b

Browse files
committed
マッパーをパラメタライズテストで順次与える方式に修正
1 parent 3db4c67 commit 1c2b33b

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/test/kotlin/com/mapk/kmapper/SimpleKMapperTest.kt

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,17 @@ package com.mapk.kmapper
44

55
import com.mapk.annotations.KConstructor
66
import java.math.BigInteger
7+
import java.util.stream.Stream
78
import kotlin.reflect.full.isSubclassOf
89
import org.junit.jupiter.api.Assertions.assertEquals
910
import org.junit.jupiter.api.DisplayName
1011
import org.junit.jupiter.api.Nested
1112
import org.junit.jupiter.api.Test
13+
import org.junit.jupiter.api.TestInstance
14+
import org.junit.jupiter.params.ParameterizedTest
15+
import org.junit.jupiter.params.provider.Arguments
16+
import org.junit.jupiter.params.provider.Arguments.arguments
17+
import org.junit.jupiter.params.provider.MethodSource
1218

1319
open class SimpleDst(
1420
val arg1: Int,
@@ -199,15 +205,20 @@ class SimpleKMapperTest {
199205

200206
@Nested
201207
@DisplayName("BoundKMapper")
208+
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
202209
inner class BoundKMapperTest {
203210
@Nested
204211
@DisplayName("インスタンスからマップ")
212+
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
205213
inner class FromInstance {
206-
private val mapper = BoundKMapper(::SimpleDst, Src1::class)
207-
208-
@Test
209-
@DisplayName("Nullを含まない場合")
210-
fun testWithoutNull() {
214+
fun boundKMapperProvider(): Stream<Arguments> = Stream.of(
215+
arguments("from method reference", BoundKMapper(::SimpleDst, Src1::class)),
216+
arguments("from class", BoundKMapper(SimpleDst::class, Src1::class))
217+
)
218+
219+
@ParameterizedTest(name = "Nullを含まない場合")
220+
@MethodSource("boundKMapperProvider")
221+
fun testWithoutNull(name: String, mapper: BoundKMapper<Src1, SimpleDst>) {
211222
val stringValue = "value"
212223

213224
val src = Src1(stringValue)
@@ -219,9 +230,9 @@ class SimpleKMapperTest {
219230
assertEquals(stringValue.length.toByte(), dst.arg3)
220231
}
221232

222-
@Test
223-
@DisplayName("Nullを含む場合")
224-
fun testContainsNull() {
233+
@ParameterizedTest(name = "Nullを含む場合")
234+
@MethodSource("boundKMapperProvider")
235+
fun testContainsNull(name: String, mapper: BoundKMapper<Src1, SimpleDst>) {
225236
val src = Src1(null)
226237

227238
val dst = mapper.map(src)

0 commit comments

Comments
 (0)