Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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);
        }