public override ReloadDataSets CalculateReloadDataSetsFromConfiguration(IReadOnlyList <DataRepository> dataSetsToImport, IReadOnlyList <DataRepository> existingDataSets) { var newDataSets = dataSetsToImport.Where(dataSet => !repositoryExistsInList(existingDataSets, dataSet)).ToList(); var dataSetsToBeDeleted = existingDataSets.Where(dataSet => !repositoryExistsInList(dataSetsToImport, dataSet)); var overwrittenDataSets = dataSetsToImport.Except(newDataSets); var result = new ReloadDataSets(newDataSets, overwrittenDataSets, dataSetsToBeDeleted); using (var reloadPresenter = _applicationController.Start <IImporterReloadPresenter>()) { reloadPresenter.AddDeletedDataSets(result.DataSetsToBeDeleted.AllNames()); reloadPresenter.AddNewDataSets(result.NewDataSets.AllNames()); reloadPresenter.AddOverwrittenDataSets(result.OverwrittenDataSets.AllNames()); reloadPresenter.Show(); if (reloadPresenter.Canceled()) { return(new ReloadDataSets()); } } return(result); }
protected override void Because() { _result = sut.CalculateReloadDataSetsFromConfiguration(_dataSetsToImport, _existingDataSets); }