private void PrinterControllerService_ReceivedData(
     object sender,
     PrinterControllerReceivedDataEventArgs e)
 {
     TerminalListBox.Dispatcher.Invoke(() =>
     {
         Packets.Add(e.Packet);
         if (VisualTreeHelper.GetChildrenCount(TerminalListBox) > 0)
         {
             Border border             = (Border)VisualTreeHelper.GetChild(TerminalListBox, 0);
             ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
             scrollViewer.ScrollToBottom();
         }
     });
 }
예제 #2
0
        public void GivenPrinterControllerReceivedDataEventArgs_WhenEventHandled_ThenPacketAddedToList()
        {
            // Arrange
            var mockPrintersConfigurationView = new Mock <IPrintersConfigurationView>();
            var sut = new MainWindowViewModel(
                _mockServiceProvider.Object,
                _mockPrinterConfigurationManagerService.Object,
                _mockPrinterControllerSevice.Object,
                null,
                null)
            {
                SelectedPrinter = new PrinterConfigurationModel()
            };

            sut.TerminalListBox = new System.Windows.Controls.ListBox();

            var packets = new PrinterControllerReceivedDataEventArgs[]
            {
                new PrinterControllerReceivedDataEventArgs()
                {
                    Packet = new PrinterPacket()
                },
                new PrinterControllerReceivedDataEventArgs()
                {
                    Packet = new PrinterPacket()
                },
                new PrinterControllerReceivedDataEventArgs()
                {
                    Packet = new PrinterPacket()
                }
            };

            // Act
            foreach (var curPacket in packets)
            {
                _mockPrinterControllerSevice.Raise(
                    x => x.ReceivedData += null,
                    curPacket);
            }

            // Assert
            Equals(3, sut.Packets.Count);
        }