using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using Blacklight.Core; namespace Blacklight.Core.UnitTests { public class MouseWheelForwarderTests : UnitTestSharp.TestFixture { Form form; Control control; MouseWheelForwarder forwarder; public override void TestSetup() { form = new Form(); form.Width = 100; form.Height = 100; form.Location = new System.Drawing.Point(0, 0); form.ClientSize = new System.Drawing.Size(100, 100); control = new Control(); control.Width = 50; control.Height = 50; control.Location = new System.Drawing.Point(25, 25); forwarder = new MouseWheelForwarder(control); form.Controls.Add(control); } public override void TestTeardown() { form.Dispose(); control.Dispose(); forwarder.Dispose(); form = null; control = null; forwarder = null; } [UnitTestSharp.IgnoreTest] private void FireMouseEnterControl(Control control) { MessageMocker.FireMouseMove(control, 0, 0); } public void NoScrollWhenNoEventsYet() { bool fired = false; control.MouseWheel += delegate(object sender, MouseEventArgs args) { fired = true; }; MessageMocker.FireScrollWheel(form, 0, 0); CheckFalse(fired); } public void ScrollWhenMouseOver() { bool fired = false; control.MouseWheel += delegate(object sender, MouseEventArgs args) { fired = true; }; FireMouseEnterControl(form); FireMouseEnterControl(control); MessageMocker.FireMouseMove(control, 2, 2); MessageMocker.FireScrollWheel(form, 2, 2); Check(fired); } public void NoScrollWhenMouseLeaves() { bool fired = false; control.MouseWheel += delegate(object sender, MouseEventArgs args) { fired = true; }; FireMouseEnterControl(control); MessageMocker.FireMouseLeave(control); MessageMocker.FireScrollWheel(form, 0, 0); CheckFalse(fired); } } }