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); }
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); }