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(); } }); }
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); }