Skip to content

Commit

Permalink
Merge pull request #107 from nhaarman/create-primitive-instance
Browse files Browse the repository at this point in the history
Don't try to mock primitive/wrapper instances
  • Loading branch information
nhaarman committed Nov 3, 2016
2 parents 494e7ca + 0615231 commit c3f7e68
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ fun <T : Any> createInstance(kClass: KClass<T>): T {
return MockitoKotlin.instanceCreator(kClass)?.invoke() as T? ?:
when {
kClass.hasObjectInstance() -> kClass.objectInstance!!
kClass.isMockable() -> kClass.java.uncheckedMock()
kClass.isPrimitive() -> kClass.toDefaultPrimitiveValue()
kClass.isMockable() -> kClass.java.uncheckedMock()
kClass.isEnum() -> kClass.java.enumConstants.first()
kClass.isArray() -> kClass.toArrayInstance()
kClass.isClassObject() -> kClass.toClassObject()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import org.junit.Test
import java.io.IOException
import java.math.BigInteger

class CreateInstanceOfImmutableTest {
class CreateInstanceInlineTest {

class ClassToBeMocked {

Expand Down Expand Up @@ -97,6 +97,24 @@ class CreateInstanceOfImmutableTest {
}
}

@Test
fun createPrimitiveInstance() {
/* When */
val i = createInstance<Int>()

/* Then */
expect(i).toBe(0)
}

@Test
fun createStringInstance() {
/* When */
val s = createInstance<String>()

/* Then */
expect(s).toBe("")
}

interface Methods {

fun throwableClass(t: ThrowableClass)
Expand Down

0 comments on commit c3f7e68

Please sign in to comment.