Testing GoDiagram Controls


We are trying to test an application that uses GoDiagram. It has a flow chart of GoTextNodes with different backgrounds (diamond, rectangle,… ).
The test basicly should activate a context menu on the node, click on menu items, check some properties on the node.
We are trying to access the controls through a functional test framework that access windows controls, execute actions on them and verify properties on the controls. We need to do the same thing with the GoControls that are displayed on the form. We are having trouble finding these controls, as they are custom controls not similar to windows controls. Is there a way to access these controls and find them from a parent window/control?


Each GoView is indeed a Windows.Forms.Control. Everything that you can do to a regular Control you can do to a GoView.
I think you could treat it the same way as you would for a TreeView or ListView or some other nontrivial Windows Control.
If you want to do more complicated checking, then you can certainly use the GoDiagram API for manipulating each GoView and the GoObjects held in the GoView’s GoDocument. Our regression tests in fact simulate various kinds of mouse events by constructing GoInputEventArgs and calling the desired methods such as GoView.DoMouseDown(), GoView.DoMouseMove(), GoView.DoMouseUp(), and GoView.DoKeyDown(). And you can find objects programmatically by looking at the view’s document and calling their methods or setting their properties.
Just to be clear: you don’t really mean “GoControls”, which are GoObjects that display Windows.Forms.Controls that are children of the GoView, do you?