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

Commit d3a8966

Browse files
committed
nullを入れた際に変換処理に入っていないことの確認用テストを追加
1 parent cf09caa commit d3a8966

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

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

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ import java.math.BigInteger
88
import kotlin.reflect.KClass
99
import kotlin.reflect.jvm.jvmName
1010
import org.junit.jupiter.api.Assertions.assertEquals
11+
import org.junit.jupiter.api.Assertions.assertNull
1112
import org.junit.jupiter.api.DisplayName
1213
import org.junit.jupiter.api.Nested
14+
import org.junit.jupiter.api.Test
15+
import org.junit.jupiter.api.assertDoesNotThrow
1316
import org.junit.jupiter.params.ParameterizedTest
1417
import org.junit.jupiter.params.provider.EnumSource
1518
import org.junit.jupiter.params.provider.ValueSource
@@ -56,9 +59,10 @@ class ConversionTest {
5659
override fun convert(source: Number): Number? = source.let(converter)
5760
}
5861

59-
data class Dst(@ToNumber(BigDecimal::class) val number: BigDecimal)
62+
data class Dst(@ToNumber(BigDecimal::class) val number: BigDecimal?)
6063
data class NumberSrc(val number: Number)
6164
data class StringSrc(val number: String)
65+
object NullSrc { val number: Number? = null }
6266

6367
enum class NumberSource(val values: Array<Number>) {
6468
Doubles(arrayOf(1.0, -2.0, 3.5)),
@@ -89,6 +93,15 @@ class ConversionTest {
8993
val actual = KMapper(::Dst).map(StringSrc(str))
9094
assertEquals(0, BigDecimal(str).compareTo(actual.number))
9195
}
96+
97+
@Test
98+
@DisplayName("nullを入れた際に変換処理に入らないことのテスト")
99+
fun fromNull() {
100+
assertDoesNotThrow {
101+
val actual = KMapper(::Dst).map(NullSrc)
102+
assertNull(actual.number)
103+
}
104+
}
92105
}
93106

94107
@Nested
@@ -111,6 +124,15 @@ class ConversionTest {
111124
val actual = PlainKMapper(::Dst).map(StringSrc(str))
112125
assertEquals(0, BigDecimal(str).compareTo(actual.number))
113126
}
127+
128+
@Test
129+
@DisplayName("nullを入れた際に変換処理に入らないことのテスト")
130+
fun fromNull() {
131+
assertDoesNotThrow {
132+
val actual = PlainKMapper(::Dst).map(NullSrc)
133+
assertNull(actual.number)
134+
}
135+
}
114136
}
115137

116138
@Nested
@@ -133,5 +155,14 @@ class ConversionTest {
133155
val actual = BoundKMapper<StringSrc, Dst>().map(StringSrc(str))
134156
assertEquals(0, BigDecimal(str).compareTo(actual.number))
135157
}
158+
159+
@Test
160+
@DisplayName("nullを入れた際に変換処理に入らないことのテスト")
161+
fun fromNull() {
162+
assertDoesNotThrow {
163+
val actual = BoundKMapper<NullSrc, Dst>(::Dst).map(NullSrc)
164+
assertNull(actual.number)
165+
}
166+
}
136167
}
137168
}

0 commit comments

Comments
 (0)