xamarin-macios/tests/monotouch-test/AppKit/NSControl.cs

89 строки
2.4 KiB
C#

#if __MACOS__
using NUnit.Framework;
using System;
using AppKit;
using Foundation;
using ObjCRuntime;
namespace Xamarin.Mac.Tests {
[TestFixture]
[Preserve (AllMembers = true)]
public class NSControlTests {
[Test]
public void NSControlShouldChangeControlSize ()
{
Asserts.EnsureYosemite ();
var control = new NSButton ();
var size = control.ControlSize;
control.ControlSize = NSControlSize.Mini;
Assert.IsFalse (size == control.ControlSize);
Assert.IsTrue (control.ControlSize == NSControlSize.Mini);
}
[Test]
public void NSControlShouldChangeHighlighted ()
{
Asserts.EnsureYosemite ();
var control = new NSButton ();
var highlighted = control.Highlighted;
control.Highlighted = !highlighted;
Assert.IsFalse (highlighted == control.Highlighted);
}
[Test]
public void NSControlShouldChangeLineBreakMode ()
{
Asserts.EnsureYosemite ();
var control = new NSButton ();
var lineBreak = control.LineBreakMode;
control.LineBreakMode = NSLineBreakMode.Clipping;
Assert.IsTrue (control.LineBreakMode == NSLineBreakMode.Clipping);
Assert.IsFalse (lineBreak == control.LineBreakMode);
}
[Test]
public void NSControlShouldAddMultipleActivatedEventHandlers ()
{
var control = new NSButton ();
int firstHitCount = 0;
int secondHitCount = 0;
control.Activated += (sender, e) => firstHitCount++;
control.Activated += (sender, e) => secondHitCount++;
control.PerformClick (control);
Assert.IsTrue (firstHitCount == 1, "NSControlShouldAddMultipleActivatedEventHandlers - Did not call first EventHandler");
Assert.IsTrue (secondHitCount == 1, "NSControlShouldAddMultipleActivatedEventHandlers - Did not call second EventHandler");
}
[Test]
public void NSControlShouldRemoveAndAddActivatedEventHandlers ()
{
var control = new NSButton ();
int firstHitCount = 0;
int secondHitCount = 0;
EventHandler firstDelegate = (object sender, EventArgs e) => firstHitCount++;
control.Activated += firstDelegate;
control.Activated -= firstDelegate;
control.Activated += (sender, e) => secondHitCount++;
control.PerformClick (control);
Assert.IsTrue (firstHitCount == 0, "NSControlShouldRemoveAndAddActivatedEventHandlers - Called first EventHandler after it was removed");
Assert.IsTrue (secondHitCount == 1, "NSControlShouldRemoveAndAddActivatedEventHandlers - Did not call second EventHandler");
}
}
}
#endif // __MACOS__