groostav
11/19/2018, 7:35 PMNode
subclasses into testable value types?
My team just wrote a bunch of
//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
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?