public void Spinner ()
{
BasicWidgetType type = BasicWidgetType.Spinner;
Atk.Object accessible;
string name = "test";
accessible = GetAccessible (type, name, true);
Atk.IValue atkValue = CastToAtkInterface <Atk.IValue> (accessible);
Atk.IText atkText = CastToAtkInterface <Atk.IText> (accessible);
InterfaceValue (type, atkValue, atkText);
InterfaceValue (type, atkValue);
PropertyRole (type, accessible);
Assert.AreEqual (0, accessible.NAccessibleChildren, "Spinner numChildren");
Atk.IComponent atkComponent = CastToAtkInterface <Atk.IComponent> (accessible);
InterfaceComponent (type, atkComponent);
InterfaceEditableText (type, accessible);
Atk.IAction atkAction = CastToAtkInterface<Atk.IAction> (accessible);
InterfaceAction (type, atkAction, accessible);
SetReadOnly (type, accessible, true);
Assert.IsFalse (accessible.RefStateSet().ContainsState (Atk.StateType.Editable), "ReadOnly spinner should not be editable");
StartEventMonitor ();
SetReadOnly (type, accessible, false);
ExpectEvents (1, Atk.Role.SpinButton, "object:state-changed:editable");
Assert.IsTrue (accessible.RefStateSet().ContainsState (Atk.StateType.Editable), "Non-ReadOnly spinner should be editable");
}