File tree 5 files changed +1216
-8
lines changed
main/java/com/mitteloupe/testit/generator
test/java/com/mitteloupe/testit/generator/mocking
5 files changed +1216
-8
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,16 @@ package com.mitteloupe.testit.generator.formatting
2
2
3
3
import com.mitteloupe.testit.model.DataType
4
4
5
+ fun DataType.toNonNullableKotlinString () = when (this ) {
6
+ is DataType .Specific -> name
7
+ is DataType .Generic -> " $name <${genericTypes.toNonNullableKotlinString()} >"
8
+ }
9
+
10
+ private fun Array <out DataType >.toNonNullableKotlinString (): String =
11
+ joinToString(" , " ) { dataType ->
12
+ dataType.toNonNullableKotlinString()
13
+ }
14
+
5
15
fun DataType.toKotlinString () = when (this ) {
6
16
is DataType .Specific -> name
7
17
is DataType .Generic -> " $name <${genericTypes.toKotlinString()} >"
@@ -17,4 +27,4 @@ private fun String.makeNullableIfTrue(isNullable: Boolean) =
17
27
" $this ?"
18
28
} else {
19
29
this
20
- }
30
+ }
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ package com.mitteloupe.testit.generator.mocking
2
2
3
3
import com.mitteloupe.testit.generator.formatting.Formatting
4
4
import com.mitteloupe.testit.generator.formatting.toKotlinString
5
+ import com.mitteloupe.testit.generator.formatting.toNonNullableKotlinString
5
6
import com.mitteloupe.testit.model.ClassMetadata
6
7
import com.mitteloupe.testit.model.DataType
7
8
import com.mitteloupe.testit.model.concreteFunctions
@@ -36,7 +37,7 @@ class MockKCodeGenerator(
36
37
37
38
override fun getConstructorMock (parameterName : String , parameterType : DataType ) =
38
39
" ${indent()} @MockK\n " +
39
- " ${indent()} lateinit var $parameterName : ${parameterType.toKotlinString ()} "
40
+ " ${indent()} lateinit var $parameterName : ${parameterType.toNonNullableKotlinString ()} "
40
41
41
42
override fun getAbstractClassUnderTest (classUnderTest : ClassMetadata ): String {
42
43
val arguments =
@@ -55,7 +56,8 @@ class MockKCodeGenerator(
55
56
return stringBuilder.toString()
56
57
}
57
58
58
- override fun getMockedInstance (variableType : DataType ) = " mockk<${variableType.toKotlinString()} >()"
59
+ override fun getMockedInstance (variableType : DataType ) =
60
+ " mockk<${variableType.toKotlinString()} >()"
59
61
60
62
override fun setHasMockedConstructorParameters (classUnderTest : ClassMetadata ) {
61
63
_hasMockedConstructorParameters = true
Original file line number Diff line number Diff line change 1
1
package com.mitteloupe.testit.generator.mocking
2
2
3
3
import com.mitteloupe.testit.generator.formatting.Formatting
4
- import com.mitteloupe.testit.generator.formatting.toKotlinString
4
+ import com.mitteloupe.testit.generator.formatting.toNonNullableKotlinString
5
5
import com.mitteloupe.testit.model.ClassMetadata
6
6
import com.mitteloupe.testit.model.DataType
7
7
@@ -35,9 +35,10 @@ class MockitoCodeGenerator(
35
35
36
36
override fun getConstructorMock (parameterName : String , parameterType : DataType ) =
37
37
" ${indent()} @Mock\n " +
38
- " ${indent()} lateinit var $parameterName : ${parameterType.toKotlinString ()} "
38
+ " ${indent()} lateinit var $parameterName : ${parameterType.toNonNullableKotlinString ()} "
39
39
40
- override fun getMockedInstance (variableType : DataType ) = " mock<${variableType.toKotlinString()} >()"
40
+ override fun getMockedInstance (variableType : DataType ) =
41
+ " mock<${variableType.toNonNullableKotlinString()} >()"
41
42
42
43
override fun getAbstractClassUnderTest (classUnderTest : ClassMetadata ) =
43
44
" mock(defaultAnswer = Mockito.CALLS_REAL_METHODS${getConstructorArgumentsForAbstract(
Original file line number Diff line number Diff line change @@ -237,7 +237,7 @@ class MockitoCodeGeneratorTest {
237
237
}
238
238
239
239
@Test
240
- fun `Given _ when setIsAbstractClassUnderTest then _ ` () {
240
+ fun `When setIsAbstractClassUnderTest then adds expected imports ` () {
241
241
// Given
242
242
val expected1 = " mock"
243
243
val expected2 = " Mockito"
@@ -278,7 +278,7 @@ class MockitoCodeGeneratorTest {
278
278
),
279
279
DataType .Specific (" another type" , false )
280
280
)
281
- val expected = " mock<data type<nested type<deeply nested>? , another type>>()"
281
+ val expected = " mock<data type<nested type<deeply nested>, another type>>()"
282
282
given { mockableTypeQualifier.getNonMockableType(variableType.name) }
283
283
.willReturn(null )
284
284
You can’t perform that action at this time.
0 commit comments