Best Kluent code snippet using org.amshove.kluent.AnyExceptionType.Throwable.toInformativeString
Exceptions.kt
Source:Exceptions.kt
1package org.amshove.kluent2import org.amshove.kluent.internal.ComparisonFailedException3import org.junit.ComparisonFailure4import kotlin.reflect.KClass5fun invoking(function: () -> Any?): () -> Any? = function6fun coInvoking(function: suspend () -> Any?): suspend () -> Any? = function7actual infix fun <T : Throwable> (() -> Any?).shouldThrow(expectedException: KClass<T>): ExceptionResult<T> {8 try {9 this.invoke()10 fail("There was an Exception expected to be thrown, but nothing was thrown", "$expectedException", "None")11 return ExceptionResult(expectedException as T)12 } catch (e: Throwable) {13 @Suppress("UNCHECKED_CAST")14 when {15 e.isA(ComparisonFailure::class) -> throw e16 e.isA(ComparisonFailedException::class) -> throw e17 e.isA(expectedException) -> return ExceptionResult(e as T)18 else -> throw ComparisonFailure(19 "Expected ${expectedException.javaObjectType} to be thrown",20 "${expectedException.javaObjectType}",21 "${e.javaClass}"22 )23 }24 }25}26suspend infix fun <T : Throwable> (suspend () -> Any?).shouldThrow(expectedException: KClass<T>): ExceptionResult<T> {27 try {28 this.invoke()29 fail("There was an Exception expected to be thrown, but nothing was thrown", "$expectedException", "None")30 return ExceptionResult(expectedException as T)31 } catch (e: Throwable) {32 @Suppress("UNCHECKED_CAST")33 when {34 e.isA(ComparisonFailure::class) -> throw e35 e.isA(ComparisonFailedException::class) -> throw e36 e.isA(expectedException) -> return ExceptionResult(e as T)37 else -> throw ComparisonFailure(38 "Expected ${expectedException.javaObjectType} to be thrown",39 "${expectedException.javaObjectType}",40 "${e.javaClass}"41 )42 }43 }44}45infix fun <T : Throwable> (() -> Any?).shouldNotThrow(expectedException: KClass<T>): NotThrowExceptionResult {46 return try {47 this.invoke()48 NotThrowExceptionResult(noException)49 } catch (e: Throwable) {50 if (expectedException.isAnyException()) {51 fail("Expected no Exception to be thrown", "No Exception", "${e.javaClass}")52 }53 if (e.isA(expectedException)) {54 fail(55 "Expected no Exception of type ${e::class.qualifiedName} to be thrown",56 "No Exception",57 e.toInformativeString()58 )59 }60 NotThrowExceptionResult(e)61 }62}63suspend infix fun <T : Throwable> (suspend () -> Any?).shouldNotThrow(expectedException: KClass<T>): NotThrowExceptionResult {64 return try {65 this.invoke()66 NotThrowExceptionResult(noException)67 } catch (e: Throwable) {68 if (expectedException.isAnyException()) {69 fail("Expected no Exception to be thrown", "No Exception", "${e.javaClass}")70 }71 if (e.isA(expectedException)) {72 fail(73 "Expected no Exception of type ${e::class.qualifiedName} to be thrown",74 "No Exception",75 e.toInformativeString()76 )77 }78 NotThrowExceptionResult(e)79 }80}81infix fun <T : Throwable> (() -> Any?).shouldThrow(expectedException: T) {82 try {83 this.invoke()84 fail("There was an Exception expected to be thrown, but nothing was thrown", "$expectedException", "None")85 } catch (e: Throwable) {86 if (e != expectedException) {87 throw ComparisonFailure("Expected $expectedException to be thrown", "$expectedException", "${e.javaClass}")88 }89 }90}91suspend infix fun <T : Throwable> (suspend () -> Any?).shouldThrow(expectedException: T) {92 try {93 this.invoke()94 fail("There was an Exception expected to be thrown, but nothing was thrown", "$expectedException", "None")95 } catch (e: Throwable) {96 if (e != expectedException) {97 throw ComparisonFailure("Expected $expectedException to be thrown", "$expectedException", "${e.javaClass}")98 }99 }100}101@Deprecated("Use shouldThrow instead", ReplaceWith("this shouldThrow expectedException"))102infix fun <T : Throwable> (() -> Any).shouldThrowTheException(expectedException: KClass<T>): ExceptionResult<T> =103 this shouldThrow expectedException104@Deprecated("Use shouldNotThrow instead", ReplaceWith("this shouldNotThrow expectedException"))105infix fun <T : Throwable> (() -> Any).shouldNotThrowTheException(expectedException: KClass<T>): NotThrowExceptionResult =106 this.shouldNotThrow(expectedException)107infix fun <T : Throwable> ExceptionResult<T>.withMessage(theMessage: String): ExceptionResult<T> {108 this.exceptionMessage shouldBeEqualTo theMessage109 return this110}111infix fun NotThrowExceptionResult.withMessage(theMessage: String): NotThrowExceptionResult {112 this.exceptionMessage shouldNotBeEqualTo theMessage113 return this114}115infix fun <T : Throwable> ExceptionResult<T>.withCause(expectedCause: KClass<out Throwable>): ExceptionResult<T> {116 this.exceptionCause shouldBeInstanceOf expectedCause.java117 return this118}119infix fun NotThrowExceptionResult.withCause(expectedCause: KClass<out Throwable>): NotThrowExceptionResult {120 this.exceptionCause shouldNotBeInstanceOf expectedCause.java121 return this122}123infix fun <T : Throwable, R> ExceptionResult<T>.with(block: T.() -> R): R = block(exception)124val AnyException = AnyExceptionType::class125class AnyExceptionType : Throwable()126internal val noException = Exception("None")127internal fun Throwable.isA(expected: KClass<out Throwable>) =128 expected.isAnyException() || expected.java.isAssignableFrom(this.javaClass)129internal fun <T : Throwable> KClass<T>.isAnyException() = this.javaObjectType == AnyException.javaObjectType130actual fun fail(message: String, expected: Any?, actual: Any?) {131 errorCollector.collectOrThrow(ComparisonFailedException(message, expected, actual))132}133actual fun fail(message: String?) {134 try {135 throw AssertionError(message)136 } catch (ex: AssertionError) {137 if (errorCollector.getCollectionMode() == ErrorCollectionMode.Soft) {138 errorCollector.pushError(ex)139 } else {140 throw assertionError(ex)141 }142 }143}144internal fun <T> join(theArray: Array<T>): String = theArray.joinToString(", ")145internal fun <T> join(theIterable: Iterable<T>): String = theIterable.joinToString(", ")146internal fun <R, T> join(theMap: Map<R, T>): String = theMap.entries.joinToString(", ")147private fun Throwable.toInformativeString() = when (this.message) {148 null -> "${this::class.qualifiedName}"149 else -> "${this::class.qualifiedName} (Message: \"${this.message}\")"150}...
Throwable.toInformativeString
Using AI Code Generation
1 fun `should throw exception when the input is not a valid number`() {2 val exception = shouldThrow<NumberFormatException> {3 Integer.parseInt("not a number")4 }5 exception.toInformativeString() shouldEqual "For input string: \"not a number\""6 }7 fun `should throw exception when the input is not a valid number`() {8 val exception = shouldThrow<NumberFormatException> {9 Integer.parseInt("not a number")10 }11 exception.toInformativeString() shouldEqual "For input string: \"not a number\""12 }13 fun `should throw exception when the input is not a valid number`() {14 val exception = shouldThrow<NumberFormatException> {15 Integer.parseInt("not a number")16 }17 exception.toInformativeString() shouldEqual "For input string: \"not a number\""18 }19 fun `should throw exception when the input is not a valid number`() {20 val exception = shouldThrow<NumberFormatException> {21 Integer.parseInt("not a number")22 }23 exception.toInformativeString() shouldEqual "For input string: \"not a number\""24 }25 fun `should throw exception when the input is not a valid number`() {26 val exception = shouldThrow<NumberFormatException> {27 Integer.parseInt("not a number")28 }29 exception.toInformativeString() shouldEqual "For input string: \"not a number\""30 }
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!