コード例 #1
0
        public void Dispose_shows_the_cursor()
        {
            var screen = new ScreenView(_renderer, _terminal, _synchronizationContext);

            screen.Dispose();

            _terminal.Events.Should().BeEquivalentSequenceTo(new TestTerminal.CursorShown());
        }
コード例 #2
0
        public void Dispose_unregisters_from_updated_event()
        {
            var screen = new ScreenView(_renderer, _synchronizationContext);
            var view   = new TestView();

            screen.Child = view;

            screen.Dispose();
            view.RaiseUpdated();

            _synchronizationContext.PostInvocationCount.Should().Be(0);
        }
コード例 #3
0
        private static void RenderView <T>(ItemsView <T> view)
        {
            var context = Program.InvocationContext;

            var consoleRenderer = new ConsoleRenderer(
                context.Console,
                context.BindingContext.OutputMode());

            var screen = new ScreenView(consoleRenderer, context.Console)
            {
                Child = view
            };

            screen.Render(new Region(0, 0, new Size(Console.WindowWidth, view.Items.Count + 1)));
            screen.Dispose();

            Console.WriteLine("\n");
        }