35 lines
746 B
Kotlin
35 lines
746 B
Kotlin
package net.shadowfacts.cacao.util.properties
|
|
|
|
import org.junit.jupiter.api.Assertions.*
|
|
import org.junit.jupiter.api.Test
|
|
|
|
/**
|
|
* @author shadowfacts
|
|
*/
|
|
class ResettableLazyPropertyTests {
|
|
|
|
class MyClass {
|
|
var iteration = 1
|
|
val delegate = ResettableLazyProperty { "test ${iteration++}" }
|
|
val prop by delegate
|
|
}
|
|
|
|
@Test
|
|
fun testResets() {
|
|
val obj = MyClass()
|
|
assertEquals("test 1", obj.prop)
|
|
obj.delegate.reset()
|
|
assertEquals("test 2", obj.prop)
|
|
assertEquals("test 2", obj.prop)
|
|
}
|
|
|
|
@Test
|
|
fun testIsInitialized() {
|
|
val obj = MyClass()
|
|
assertFalse(obj.delegate.isInitialized)
|
|
assertEquals("test 1", obj.prop)
|
|
assertTrue(obj.delegate.isInitialized)
|
|
obj.delegate.reset()
|
|
assertFalse(obj.delegate.isInitialized)
|
|
}
|
|
} |