https://kotlinlang.org logo
j

javidev

08/29/2017, 9:44 PM
Copy code
import org.junit.Assert
import org.junit.Test
import org.testfx.api.FxToolkit
import tornadofx.*

data class PojoClass(var name: String? = null)

class PojoViewModel : ItemViewModel<PojoClass>() {
    val name = bind(PojoClass::name)
}

class ItemViewModelTest {

    @Test
    fun testCommit() {
        FxToolkit.registerPrimaryStage()
        val model = PojoViewModel()
        model.item = PojoClass("original")
        Assert.assertTrue(model.item.name == "original")

        model.name.value = "modified"
        Assert.assertFalse(model.item.name == "modified")
        Assert.assertTrue(model.isDirty)

        model.commit()
        Assert.assertTrue(model.item.name == "modified")
    }
}