public void BenchmarkPresenter_DeleteGraphColorClicked_DeletesColor() { // Arrange var model = CreateModel(); var color0 = Color.AliceBlue; var color1 = Color.SaddleBrown; var color2 = Color.Yellow; var color3 = Color.Red; model.Preferences.Set(Preference.GraphColors, new List <Color> { color0, color1, color2, color3 }); var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.Yes); using (var presenter = new MockFormBenchmarksPresenter(model, messageBox)) { presenter.Show(); Assert.AreEqual(4, presenter.Model.GraphColors.Count); // Act presenter.DeleteGraphColorClicked(); // Assert Assert.AreEqual(3, presenter.Model.GraphColors.Count); Assert.AreEqual(0, messageBox.Invocations.Count); } }
public async Task ApplicationUpdatePresenter_DownloadClicked_ShowsMessageBoxWhenDownloadFails() { // Arrange using (var artifacts = new ArtifactFolder()) { var updateFile = new ApplicationUpdateFile { Description = "Foo", Name = "Foo.zip", HttpAddress = @"C:\DoesNotExist\Foo.zip" }; var update = new ApplicationUpdate { UpdateFiles = new List <ApplicationUpdateFile> { updateFile } }; var model = new ApplicationUpdateModel(update); model.SelectedUpdateFile = update.UpdateFiles.First(); var messageBox = new MockMessageBoxPresenter(); using (var presenter = new MockDialogApplicationUpdatePresenter(model, messageBox)) { presenter.ShowDialog(null); Assert.IsTrue(presenter.MockDialog.Shown); // Act var saveFile = new MockFileDialogPresenterReturnsFileName(_ => DialogResult.OK, artifacts.GetRandomFilePath()); await presenter.DownloadClick(saveFile); // Assert Assert.AreEqual(1, messageBox.Invocations.Count); Assert.IsTrue(presenter.MockDialog.Shown); Assert.AreEqual(1, saveFile.Invocations.Count); } } }
public void WorkUnitHistoryPresenter_DeleteQueryClick_AsksYesNoQuestionAndFailsToDeleteSelectAllQuery() { // Arrange var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.Yes); var presenter = CreatePresenter(messageBox); // Act presenter.DeleteQueryClick(); // Assert Assert.AreEqual(2, messageBox.Invocations.Count); }
public void WorkUnitHistoryPresenter_DeleteQueryClick_AsksYesNoQuestionAndExitsAfterNoAnswer() { // Arrange var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.No); var presenter = CreatePresenter(messageBox); // Act presenter.DeleteQueryClick(); // Assert Assert.AreEqual(1, messageBox.Invocations.Count); }
public void FahClientSettingsPresenter_ConnectClicked_AttemptsConnectionAndShowsMessageBoxOnFailure() { // Arrange var messageBox = new MockMessageBoxPresenter(); using (var presenter = new MockDialogFahClientSettingsPresenter(new FahClientSettingsModel { Name = "foo", Server = "bar" }, messageBox)) { // Act presenter.ConnectClicked(); // Assert Assert.AreEqual(1, messageBox.Invocations.Count); } }
public void FahClientSettingsPresenter_OKClicked_ShowsMessageBoxWhenModelHasError() { // Arrange var messageBox = new MockMessageBoxPresenter(); using (var presenter = new MockDialogFahClientSettingsPresenter(new FahClientSettingsModel(), messageBox)) { presenter.ShowDialog(null); Assert.IsTrue(presenter.MockDialog.Shown); // Act presenter.OKClicked(); // Assert Assert.AreEqual(1, messageBox.Invocations.Count); Assert.IsTrue(presenter.MockDialog.Shown); } }
public void WorkUnitHistoryPresenter_DeleteQueryClick_AsksYesNoQuestionAndDeletesQuery() { // Arrange var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.Yes); var presenter = CreatePresenter(messageBox); presenter.Model.AddQuery(new WorkUnitQuery("Test") .AddParameter(new WorkUnitQueryParameter { Value = 6606 })); Assert.AreEqual(2, presenter.Model.QueryBindingSource.Count); // Act presenter.DeleteQueryClick(); // Assert Assert.AreEqual(1, presenter.Model.QueryBindingSource.Count); Assert.AreEqual(1, messageBox.Invocations.Count); }
public void BenchmarkPresenter_DescriptionLinkClicked_ShowsMessageBoxWhenLocalProcessFailsToStart() { // Arrange var model = CreateModel(); var messageBox = new MockMessageBoxPresenter(); using (var presenter = new MockFormBenchmarksPresenter(model, messageBox)) { presenter.Show(); var localProcess = new LocalProcessServiceThrows(); // Act presenter.DescriptionLinkClicked(localProcess); // Assert Assert.AreEqual(1, messageBox.Invocations.Count); Assert.AreEqual(nameof(MessageBoxPresenter.ShowError), messageBox.Invocations.First().Name); } }
public void BenchmarkPresenter_DeleteGraphColorClicked_ShowsMessageBoxWhenSelectedGraphColorItemIsNull() { // Arrange var model = CreateModel(); model.Preferences.Set(Preference.GraphColors, new List <Color>()); var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.Yes); using (var presenter = new MockFormBenchmarksPresenter(model, messageBox)) { presenter.Show(); Assert.IsNull(presenter.Model.SelectedGraphColorItem); // Act presenter.DeleteGraphColorClicked(); // Assert Assert.AreEqual(1, messageBox.Invocations.Count); } }
public void BenchmarkPresenter_DeleteSlotClicked_AsksYesNoQuestionAndDeletesSlot() { // Arrange var benchmarkService = CreateBenchmarkServiceWithOneSlotAndProject(); var model = CreateModel(benchmarkService); var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.Yes); using (var presenter = new MockFormBenchmarksPresenter(model, messageBox)) { presenter.Show(); Assert.AreEqual(2, presenter.Model.SlotIdentifiers.Count); presenter.Model.SelectedSlotIdentifier = presenter.Model.SlotIdentifierValueItems.Last(); // Act presenter.DeleteSlotClicked(); // Assert Assert.AreEqual(1, presenter.Model.SlotIdentifiers.Count); Assert.AreEqual(1, messageBox.Invocations.Count); } }
public void WorkUnitHistoryPresenter_DeleteWorkUnitClick_AsksYesNoQuestionAndDeletesSelectedRow() { // Arrange var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.Yes); var presenter = CreatePresenter(messageBox); presenter.Model.HistoryBindingSource.Add(new WorkUnitRow { ID = 1 }); presenter.Model.HistoryBindingSource.ResetBindings(false); var mockRepository = Mock.Get(presenter.Model.Repository); mockRepository.Setup(x => x.Delete(It.IsAny <WorkUnitRow>())).Returns(1); // Act presenter.DeleteWorkUnitClick(); // Assert Assert.AreEqual(1, messageBox.Invocations.Count); mockRepository.Verify(); }
public void BenchmarkPresenter_DeleteProjectClicked_AsksYesNoQuestionAndExitsAfterNoAnswer() { // Arrange var benchmarkService = CreateBenchmarkServiceWithTwoSlotsAndProjects(); var model = CreateModel(benchmarkService); var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.No); using (var presenter = new MockFormBenchmarksPresenter(model, messageBox)) { presenter.Show(); presenter.Model.SelectedSlotIdentifier = presenter.Model.SlotIdentifierValueItems.Last(); Assert.AreEqual(2, presenter.Model.SlotProjects.Count); presenter.Model.SelectedSlotProjectListItems.Clear(); presenter.Model.SelectedSlotProjectListItems.Add(presenter.Model.SlotProjectListItems.Last()); // Act presenter.DeleteProjectClicked(); // Assert Assert.AreEqual(2, presenter.Model.SlotProjects.Count); Assert.AreEqual(1, messageBox.Invocations.Count); } }
public void BenchmarkPresenter_AddGraphColorClicked_ShowsMessageBoxAndDoesNotAddExistingColor() { // Arrange var model = CreateModel(); var color = Color.AliceBlue; model.Preferences.Set(Preference.GraphColors, new List <Color> { color }); var messageBox = new MockMessageBoxPresenter((o, t, c) => DialogResult.Yes); using (var presenter = new MockFormBenchmarksPresenter(model, messageBox)) { presenter.Show(); var dialog = new MockColorDialogPresenter(window => DialogResult.OK); dialog.Color = color; // Act presenter.AddGraphColorClicked(dialog); // Assert Assert.AreEqual(1, model.GraphColors.Count); Assert.AreEqual(1, messageBox.Invocations.Count); } }
public void FahClientSettingsPresenter_ConnectClicked_ConnectsAndShowsMessageBoxWhenFahClientReaderFailsToRead() { // Arrange var messageBox = new MockMessageBoxPresenter(); using (var connection = new MockFahClientConnection()) { var model = new MockConnectionFahClientSettingsModel(connection) { Name = "foo", Server = "bar" }; using (var presenter = new MockDialogFahClientSettingsPresenter(model, messageBox)) { // Act presenter.ConnectClicked(); // Assert Assert.AreEqual(1, messageBox.Invocations.Count); Assert.IsNotNull(presenter.Connection); Assert.IsFalse(presenter.Connection.Connected); Assert.IsTrue(presenter.Model.ConnectEnabled); Assert.AreEqual(0, presenter.Model.Slots.Count); } } }