@@ -7,6 +7,7 @@ import java.sql.ResultSet
7
7
import org.junit.jupiter.api.Assertions
8
8
import org.junit.jupiter.api.DisplayName
9
9
import org.junit.jupiter.api.Test
10
+ import org.junit.jupiter.api.assertThrows
10
11
11
12
class DeserializeByMethodTest {
12
13
data class ByConstructor @KColumnDeserializer constructor(val fooString : String )
@@ -29,8 +30,8 @@ class DeserializeByMethodTest {
29
30
)
30
31
31
32
@Test
32
- @DisplayName(" マッピングテスト " )
33
- fun test () {
33
+ @DisplayName(" 正常なマッピングの場合 " )
34
+ fun isCollect () {
34
35
val resultSet = mockk<ResultSet >()
35
36
every { resultSet.getObject(" foo" , any<Class <* >>()) } returns " foo"
36
37
every { resultSet.getObject(" bar" , any<Class <* >>()) } returns " 123"
@@ -44,4 +45,21 @@ class DeserializeByMethodTest {
44
45
Assertions .assertEquals(321 , result.baz.bazInt)
45
46
Assertions .assertEquals(" 777" , result.qux.quxString)
46
47
}
48
+
49
+ data class MultipleDeserializer (val qux : Int ) {
50
+ @KColumnDeserializer
51
+ constructor (qux: String ) : this (qux.toInt())
52
+
53
+ companion object {
54
+ @KColumnDeserializer
55
+ fun factory (qux : Double ) = MultipleDeserializer (qux.toInt())
56
+ }
57
+ }
58
+ data class IllegalDst (val param : MultipleDeserializer )
59
+
60
+ @Test
61
+ @DisplayName(" 複数のKColumnDeserializerが定義されていた場合" )
62
+ fun hasMultipleDeserializer () {
63
+ assertThrows<IllegalArgumentException > { KRowMapper (::IllegalDst ) }
64
+ }
47
65
}
0 commit comments