Esempio n. 1
0
        public void CanFocus_Set_EventOnlyOnChange()
        {
            using var stubbedWindow = new StubbedWindow();
            var textController = new StubbedConsoleTextController();

            using var sut = new ConControls.Controls.TextBlock(stubbedWindow, textController);
            int raised = 0;

            sut.CanFocusChanged += (sender, e) => raised++;
            sut.CanFocus         = true;
            sut.CanFocus.Should().BeTrue();
            raised.Should().Be(1); // base value is false before
            sut.CanFocus = true;
            sut.CanFocus.Should().BeTrue();
            raised.Should().Be(1);
            sut.CanFocus = false;
            sut.CanFocus.Should().BeFalse();
            raised.Should().Be(2);
            sut.CanFocus = false;
            sut.CanFocus.Should().BeFalse();
            raised.Should().Be(2);
            sut.CanFocus = true;
            sut.CanFocus.Should().BeTrue();
            raised.Should().Be(3);
        }
Esempio n. 2
0
        public void TabStop_Get_True()
        {
            using var stubbedWindow = new StubbedWindow();
            var textController = new StubbedConsoleTextController();

            using var sut = new ConControls.Controls.TextBlock(stubbedWindow, textController);
            sut.TabStop.Should().BeTrue();
        }
Esempio n. 3
0
        public void CanEdit_Get_False()
        {
            using var stubbedWindow = new StubbedWindow();
            var textController = new StubbedConsoleTextController();

            using var sut = new ConControls.Controls.TextBlock(stubbedWindow, textController);
            sut.CanEdit.Should().BeFalse();
        }
Esempio n. 4
0
        public void CursorVisible_Get_True()
        {
            using var stubbedWindow = new StubbedWindow();
            var textController = new StubbedConsoleTextController();

            using var sut = new ConControls.Controls.TextBlock(stubbedWindow, textController)
                  {
                      Size = new Size(10, 10)
                  };
            sut.CursorVisible.Should().BeTrue();
        }
Esempio n. 5
0
        public void TabStop_InitiallyTrue()
        {
            using var stubbedWindow = new StubbedWindow();
            var controller = new StubbedConsoleTextController();

            using var sut = new ConControls.Controls.TextBlock(stubbedWindow, controller);
            sut.TabStop.Should().BeTrue();
            sut.TabStop = false;
            sut.TabStop.Should().BeFalse();
            sut.TabStop = true;
            sut.TabStop.Should().BeTrue();
        }
Esempio n. 6
0
        public void CanEdit_Set_NotSupportedException()
        {
            using var stubbedWindow = new StubbedWindow();
            var textController = new StubbedConsoleTextController();

            using var sut = new ConControls.Controls.TextBlock(stubbedWindow, textController);
            sut.Invoking(s => s.CanEdit = true)
            .Should()
            .Throw <NotSupportedException>()
            .Where(e =>
                   e.Message.Contains(nameof(ConControls.Controls.TextBlock)) &&
                   e.Message.Contains(nameof(ConControls.Controls.TextBlock.CanEdit)));
        }
Esempio n. 7
0
        public void CursorVisible_CaretOutside_False()
        {
            using var stubbedWindow = new StubbedWindow();
            var textController = new StubbedConsoleTextController
            {
                ValidateCaretPoint = p => p
            };

            using var sut = new ConControls.Controls.TextBlock(stubbedWindow, textController)
                  {
                      Size = new Size(10, 10)
                  };
            sut.CursorVisible.Should().BeTrue();
            sut.Caret = (11, 11).Pt();
            sut.CaretVisible.Should().BeFalse();
            sut.CursorVisible.Should().BeFalse();
        }
Esempio n. 8
0
        public void KeyEvent_ShiftTab_FocusChanged()
        {
            using var consoleController = new StubbedConsoleController();
            using var api = new StubbedNativeCalls();
            var graphicsProvider = new StubbedGraphicsProvider();

            using var sut = new ConControls.Controls.ConsoleWindow(api, consoleController, graphicsProvider);

            var t1 = new ConControls.Controls.TextBlock(sut)
            {
                Parent = sut
            };
            var t2 = new ConControls.Controls.TextBlock(sut)
            {
                Parent = sut
            };
            var eventArgs = new ConsoleKeyEventArgs(new KEY_EVENT_RECORD
            {
                ControlKeys    = ControlKeyStates.SCROLLLOCK_ON | ControlKeyStates.SHIFT_PRESSED,
                KeyDown        = 1,
                VirtualKeyCode = VirtualKey.Tab
            });

            consoleController.KeyEventEvent(consoleController,
                                            eventArgs);
            sut.FocusedControl.Should().Be(t2);
            consoleController.KeyEventEvent(consoleController,
                                            eventArgs);
            sut.FocusedControl.Should().Be(t1);
            consoleController.KeyEventEvent(consoleController,
                                            eventArgs);
            sut.FocusedControl.Should().Be(t2);
            consoleController.KeyEventEvent(consoleController,
                                            eventArgs);
            sut.FocusedControl.Should().Be(t1);
        }