Hey guys, does anybody have some helpful hints to ...
# tornadofx
g
Hey guys, does anybody have some helpful hints to convert either `controller`s or
Node
subclasses into testable value types? My team just wrote a bunch of
Copy code
//make a controller instance without a scene

//do some business logic involving the controllers

assertThat(controller.moreVarMenuItem.isDisable).describedAs("The more variables menu item").isEqualTo(!moreVarsEnabled)
assertThat(controller.lessVarMenuItem.isDisable).describedAs("The less variables menu item").isEqualTo(!lessVarsEnabled)
assertThat(controller.shiftRightMenuItem.isDisable).describedAs("The shift right menu item").isEqualTo(!shiftRightEnabled)
which are nasty because: - the failure messages aren't great - the context of any failure is limited, and provided only by the attached custom string - this code is moderately error sensitive, since any future property additions are simply ignored in the assertion section What I'd like to write is
Copy code
val actual = controller.root.toTornadoFXStringOrSimilar() 
val expected = tornadoFXStringOrSimilar { menuItem { name = asdf; isDisable = true }}
assertEquals(expected, actual)
Does tornadoFX provide a facility for this? Does anybody else?