public void SetUp() { _settings = new Mock <IApplicationSettings>(); _dataSource = CreateViewModel( new FileDataSource(_logSourceFactory, _scheduler, new DataSource("Foobar") { Id = DataSourceId.CreateNew() })); _control = new LogViewerControl { DataSource = _dataSource, Width = 1024, Height = 768 }; DispatcherExtensions.ExecuteAllEvents(); }
private IDataSourceViewModel CreateViewModel(IDataSource dataSource) { if (dataSource == null) { throw new ArgumentNullException(nameof(dataSource)); } IDataSourceViewModel viewModel; if (dataSource is IFileDataSource single) { viewModel = new FileDataSourceViewModel(single, _actionCenter, _settings); } else if (dataSource is IMergedDataSource merged) { viewModel = new MergedDataSourceViewModel(merged, _actionCenter, _settings); } else if (dataSource is IFolderDataSource folder) { viewModel = new FolderDataSourceViewModel(folder, _actionCenter, _settings); } else if (dataSource is ICustomDataSource custom) { viewModel = new CustomDataSourceViewModel(custom, _actionCenter, _settings); } else { throw new ArgumentException(string.Format("Unknown data source: {0} ({1})", dataSource, dataSource.GetType())); } viewModel.Remove += OnRemove; _allDataSourceViewModels.Add(viewModel); if (_settings.DataSources.SelectedItem == viewModel.DataSource.Id) { SelectedItem = viewModel; } return(viewModel); }