public void BuildMouseEventArgsTest()
        {
            IntPtr wParam = (IntPtr)WinUser.MK_LBUTTON;
            IntPtr lParam = Common.MakeLParam(_mouseLocation.X, _mouseLocation.Y);

            MouseEventArgs e = NuGenControlPaint.BuildMouseEventArgs(wParam, lParam);

            Assert.AreEqual(MouseButtons.Left, e.Button);
            Assert.AreEqual(1, e.Clicks);
            this.AssertMouseLocation(_mouseLocation, e);

            wParam = (IntPtr)WinUser.MK_MBUTTON;
            e      = NuGenControlPaint.BuildMouseEventArgs(wParam, lParam);
            Assert.AreEqual(MouseButtons.Middle, e.Button);
            Assert.AreEqual(1, e.Clicks);
            this.AssertMouseLocation(_mouseLocation, e);

            wParam = (IntPtr)WinUser.MK_RBUTTON;
            e      = NuGenControlPaint.BuildMouseEventArgs(wParam, lParam);
            Assert.AreEqual(MouseButtons.Right, e.Button);
            Assert.AreEqual(1, e.Clicks);
            this.AssertMouseLocation(_mouseLocation, e);

            wParam = (IntPtr)WinUser.MK_XBUTTON1;
            e      = NuGenControlPaint.BuildMouseEventArgs(wParam, lParam);
            Assert.AreEqual(MouseButtons.XButton1, e.Button);
            Assert.AreEqual(1, e.Clicks);
            this.AssertMouseLocation(_mouseLocation, e);

            wParam = (IntPtr)WinUser.MK_XBUTTON2;
            e      = NuGenControlPaint.BuildMouseEventArgs(wParam, lParam);
            Assert.AreEqual(MouseButtons.XButton2, e.Button);
            Assert.AreEqual(1, e.Clicks);
            this.AssertMouseLocation(_mouseLocation, e);

            wParam = (IntPtr)(WinUser.MK_RBUTTON | WinUser.MK_LBUTTON);
            e      = NuGenControlPaint.BuildMouseEventArgs(wParam, lParam);
            Assert.AreEqual(MouseButtons.Right | MouseButtons.Left, e.Button);
            Assert.AreEqual(1, e.Clicks);
            this.AssertMouseLocation(_mouseLocation, e);

            wParam = IntPtr.Zero;
            e      = NuGenControlPaint.BuildMouseEventArgs(wParam, lParam, 0);
            Assert.AreEqual(MouseButtons.None, e.Button);
            Assert.AreEqual(0, e.Clicks);
            this.AssertMouseLocation(_mouseLocation, e);
        }
 private MouseEventArgs BuildOneClickMouseEventArgs(IntPtr wParam, IntPtr lParam)
 {
     return(NuGenControlPaint.BuildMouseEventArgs(wParam, lParam, 1));
 }