Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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();
        }
Ejemplo n.º 12
0
        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);
            }
        }
Ejemplo n.º 13
0
        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);
            }
        }
Ejemplo n.º 14
0
        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);
                }
            }
        }