public void RadioButtons ()
{
BasicWidgetType type = BasicWidgetType.RadioButton;
Atk.Object accessible = null, accessible2 = null, accessible3 = null;
string name = "test 01";
accessible = GetAccessible (type, name, true);
Atk.IAction atkAction = CastToAtkInterface <Atk.IAction> (accessible);
InterfaceAction (type, atkAction, accessible);
Atk.IComponent atkComponent = CastToAtkInterface <Atk.IComponent> (accessible);
InterfaceComponent (type, atkComponent);
PropertyRole (type, accessible);
Assert.AreEqual (0, accessible.NAccessibleChildren, "RadioButton numChildren");
Parent (type, accessible);
//more than one radiobutton
name = "test 02";
accessible2 = GetAccessible (type, name, true);
Atk.IAction atkAction2 = CastToAtkInterface <Atk.IAction> (accessible2);
//the third radio button is disconnected from the previous ones
name = "test 03";
accessible3 = GetAccessible (type, name, true);
Atk.IAction atkAction3 = CastToAtkInterface <Atk.IAction> (accessible3);
InterfaceActionFor3RadioButtons (atkAction, accessible,
atkAction2, accessible2,
atkAction3, accessible3);
Parent (type, accessible);
Parent (type, accessible2);
Parent (type, accessible3);
RunInGuiThread (delegate () {
accessible = InterfaceText (type, true);
});
//test with an image
Atk.IImage atkWithOutImage, atkWithImage;
atkWithOutImage = CastToAtkInterface <Atk.IImage> (accessible);
accessible = GetAccessibleThatEmbedsAnImage (type, name, true);
atkWithImage = CastToAtkInterface <Atk.IImage> (accessible);
atkComponent = CastToAtkInterface <Atk.IComponent> (accessible);
InterfaceImage (type, atkWithImage, atkComponent, atkWithOutImage);
//Key Binding tests
name = "_test 01";
accessible = GetAccessible (type, name, true);
Assert.IsNull (atkAction.GetKeybinding (-1), "GetKeybinding (-1))");
Assert.IsNull (atkAction.GetKeybinding (1), "GetKeybinding (1))");
string keyBinding = atkAction.GetKeybinding (0);
Assert.IsNotNull (keyBinding, "GetKeybinding (0))");
Assert.AreEqual (keyBinding, "<Alt>t", "<Alt>t");
}