示例#1
0
        public void TestKeyPressWithActivatedControl()
        {
            Control parent = new Control();

            parent.Bounds = new UniRectangle(10.0f, 10.0f, 80.0f, 80.0f);
            KeyboardTestControl child1 = new KeyboardTestControl(true);
            KeyboardTestControl child2 = new KeyboardTestControl(true);

            child2.Bounds = new UniRectangle(10.0f, 10.0f, 25.0f, 60.0f);

            parent.Children.Add(child1);
            parent.Children.Add(child2);

            parent.ProcessMouseMove(100.0f, 100.0f, 20.0f, 30.0f);
            parent.ProcessMousePress(MouseButtons.Left);

            Assert.AreEqual(0, child1.HeldKeyCount);
            Assert.AreEqual(0, child2.HeldKeyCount);
            parent.ProcessKeyPress(Keys.A, false);
            Assert.AreEqual(0, child1.HeldKeyCount);
            Assert.AreEqual(1, child2.HeldKeyCount); // Because child 1 was activated
            parent.ProcessKeyRelease(Keys.A);
            Assert.AreEqual(0, child1.HeldKeyCount);
            Assert.AreEqual(0, child2.HeldKeyCount);
        }
示例#2
0
    public void TestKeyPressWithActivatedControl() {
      Control parent = new Control();
      parent.Bounds = new UniRectangle(10.0f, 10.0f, 80.0f, 80.0f);
      KeyboardTestControl child1 = new KeyboardTestControl(true);
      KeyboardTestControl child2 = new KeyboardTestControl(true);
      child2.Bounds = new UniRectangle(10.0f, 10.0f, 25.0f, 60.0f);

      parent.Children.Add(child1);
      parent.Children.Add(child2);

      parent.ProcessMouseMove(100.0f, 100.0f, 20.0f, 30.0f);
      parent.ProcessMousePress(MouseButtons.Left);
      
      Assert.AreEqual(0, child1.HeldKeyCount);
      Assert.AreEqual(0, child2.HeldKeyCount);
      parent.ProcessKeyPress(Keys.A, false);
      Assert.AreEqual(0, child1.HeldKeyCount);
      Assert.AreEqual(1, child2.HeldKeyCount); // Because child 1 was activated
      parent.ProcessKeyRelease(Keys.A);
      Assert.AreEqual(0, child1.HeldKeyCount);
      Assert.AreEqual(0, child2.HeldKeyCount);
    }