+ @Test(expected = IllegalArgumentException::class)
+ fun `exception is thrown for null and true condition`() {
+ null.throwOnNullIf(true) { IllegalArgumentException() }
+ }
+
+ @Test
+ fun `exception is not thrown for null and false condition`() {
+ assertThat(null.throwOnNullIf(false) { IllegalArgumentException() }, nullValue())
+ }
+
+ @Test
+ fun `exception is not thrown for any and true condition`() {
+ val any = Any()
+ assertThat(any.throwOnNullIf(true) { IllegalArgumentException() }, equalTo(any))
+ }
+
+ @Test
+ fun `exception is not thrown for any and false condition`() {
+ val any = Any()
+ assertThat(any.throwOnNullIf(false) { IllegalArgumentException() }, equalTo(any))
+ }
+