private static void AssertEqual(Control <char, object, TestKey> control, string etalon, char empty = ' ') { var terminal = new TestTerminal(control.Width, control.Height, empty); control.Draw(terminal); Assert.AreEqual(etalon, terminal.ToString()); }
public void PagesContainerShouldDrawOnlyFocusedChild() { var menu1Painted = false; var menu2Painted = false; var pages = new Pages <char, object, TestKey> { KeyboardAdapter = new TestKeyboardAdapter() }; var menu1 = Menu(10, 10); menu1.OnSelect += (m, s) => pages.Page = 1; menu1.OnDraw += control => menu1Painted = true; var menu2 = Menu(10, 10); menu2.OnDraw += control => menu2Painted = true; pages.Controls.Add(menu1); pages.Controls.Add(menu2); pages.IsFocused = true; var terminal = new TestTerminal(10, 10); pages.Draw(terminal); Assert.IsTrue(menu1Painted); Assert.IsFalse(menu2Painted); menu1Painted = false; pages.Page = 1; pages.Draw(terminal); Assert.IsFalse(menu1Painted); Assert.IsTrue(menu2Painted); }