Пример #1
0
 public void Transition1_5_RRTest()
 {
     using (var countDown = new CountdownEvent(1))
     {
         foreach (var a in TestDef.Constant.DoubleTriggerButtons)
         {
             mouseEvents.Clear();
             countDown.Reset();
             using (var Global = new StateGlobal())
             {
                 var S0  = new State0(Global, new List <GestureDefinition>());
                 var S1  = new State1(Global, S0, ctx, Helper.Convert(a as DSL.Def.AcceptableInOnClause), new List <OnButtonGestureDefinition>(), new List <IfButtonGestureDefinition>());
                 var res = S1.Cancel();
                 Global.UserActionTaskFactory.StartNew(() =>
                 {
                     countDown.Signal();
                 });
                 countDown.Wait(50);
                 Assert.AreEqual(mouseEvents.Count, 1);
                 if (a == DSL.Def.Constant.LeftButton)
                 {
                     Assert.AreEqual(mouseEvents[0].Item1, LowLevelMouseHook.Event.WM_LBUTTONDOWN);
                 }
                 else if (a == DSL.Def.Constant.MiddleButton)
                 {
                     Assert.AreEqual(mouseEvents[0].Item1, LowLevelMouseHook.Event.WM_MBUTTONDOWN);
                 }
                 else if (a == DSL.Def.Constant.RightButton)
                 {
                     Assert.AreEqual(mouseEvents[0].Item1, LowLevelMouseHook.Event.WM_RBUTTONDOWN);
                 }
                 else if (a == DSL.Def.Constant.X1Button)
                 {
                     Assert.AreEqual(mouseEvents[0].Item1, LowLevelMouseHook.Event.WM_XBUTTONDOWN);
                     Assert.IsTrue(mouseEvents[0].Item2.mouseData.asXButton.isXButton1);
                 }
                 else if (a == DSL.Def.Constant.X2Button)
                 {
                     Assert.AreEqual(mouseEvents[0].Item1, LowLevelMouseHook.Event.WM_XBUTTONDOWN);
                     Assert.IsTrue(mouseEvents[0].Item2.mouseData.asXButton.isXButton2);
                 }
                 Assert.IsTrue(res is State0);
             }
         }
     }
 }