1 package net.pterodactylus.sone.utils
3 import org.hamcrest.MatcherAssert.*
4 import org.hamcrest.Matchers.*
8 * Unit test for [Booleans].
13 fun `ifTrue is executed if boolean is true`() {
14 assertThat(true.ifTrue { true }, equalTo(true))
18 fun `ifTrue is not executed if boolean is false`() {
19 assertThat(false.ifTrue { true }, nullValue())
23 fun `ifFalse is executed if boolean is false`() {
24 assertThat(false.ifFalse { true }, equalTo(true))
28 fun `ifFalse is not executed if boolean is true`() {
29 assertThat(true.ifFalse { true }, nullValue())
33 fun `onTrue returns true on true`() {
34 assertThat(true.onTrue {}, equalTo(true))
38 fun `onTrue returns false on false`() {
39 assertThat(false.onTrue {}, equalTo(false))
43 fun `onTrue is not executed on false`() {
44 assertThat(false.onTrue { throw RuntimeException() }, equalTo(false))
47 @Test(expected = RuntimeException::class)
48 fun `onTrue is executed on true`() {
49 true.onTrue { throw RuntimeException() }
53 fun `onFalse returns true on true`() {
54 assertThat(true.onFalse {}, equalTo(true))
58 fun `onFalse returns false on false`() {
59 assertThat(false.onFalse {}, equalTo(false))
63 fun `onFalse is not executed on true`() {
64 assertThat(true.onFalse { throw RuntimeException() }, equalTo(true))
67 @Test(expected = RuntimeException::class)
68 fun `onFalse is executed on false`() {
69 false.onFalse { throw RuntimeException() }