Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/DesignWaterLevelLocationsView.cs =================================================================== diff -u -r5410853d339d757acb6f70e2be07a332e4574d39 -r58f97f0c2d1986f6ff8def960f4b6a0454129d68 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/DesignWaterLevelLocationsView.cs (.../DesignWaterLevelLocationsView.cs) (revision 5410853d339d757acb6f70e2be07a332e4574d39) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/DesignWaterLevelLocationsView.cs (.../DesignWaterLevelLocationsView.cs) (revision 58f97f0c2d1986f6ff8def960f4b6a0454129d68) @@ -39,7 +39,6 @@ public DesignWaterLevelLocationsView() { InitializeComponent(); - InitializeDataGridView(); } protected override void SetDataSource() @@ -56,16 +55,9 @@ CalculationCommandHandler.CalculateDesignWaterLevels(AssessmentSection, locations); } - private void InitializeDataGridView() + protected override void InitializeDataGridView() { - dataGridViewControl.AddCheckBoxColumn(TypeUtils.GetMemberName(row => row.ToCalculate), - Resources.HydraulicBoundaryLocationsView_Calculate); - dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Name), - Resources.HydraulicBoundaryDatabase_Locations_Name_DisplayName); - dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Id), - Resources.HydraulicBoundaryDatabase_Locations_Id_DisplayName); - dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Location), - Resources.HydraulicBoundaryDatabase_Locations_Coordinates_DisplayName); + base.InitializeDataGridView(); dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.DesignWaterLevel), Resources.HydraulicBoundaryDatabase_Locations_DesignWaterLevel_DisplayName); } Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/HydraulicBoundaryLocationsView.cs =================================================================== diff -u -r28e867674791c1111107ea44e960313f43fc6aea -r58f97f0c2d1986f6ff8def960f4b6a0454129d68 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/HydraulicBoundaryLocationsView.cs (.../HydraulicBoundaryLocationsView.cs) (revision 28e867674791c1111107ea44e960313f43fc6aea) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/HydraulicBoundaryLocationsView.cs (.../HydraulicBoundaryLocationsView.cs) (revision 58f97f0c2d1986f6ff8def960f4b6a0454129d68) @@ -27,10 +27,12 @@ using Core.Common.Controls.Views; using Core.Common.Gui.Selection; using Core.Common.Utils.Extensions; +using Core.Common.Utils.Reflection; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.HydraRing.Data; using Ringtoets.Integration.Forms.Commands; using Ringtoets.Integration.Forms.PresentationObjects; +using Ringtoets.Integration.Forms.Properties; namespace Ringtoets.Integration.Forms.Views { @@ -57,6 +59,24 @@ hydraulicBoundaryDatabaseObserver = new Observer(() => dataGridViewControl.RefreshDataGridView()); } + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + InitializeDataGridView(); + } + + protected virtual void InitializeDataGridView() + { + dataGridViewControl.AddCheckBoxColumn(TypeUtils.GetMemberName(row => row.ToCalculate), + Resources.HydraulicBoundaryLocationsView_Calculate); + dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Name), + Resources.HydraulicBoundaryDatabase_Locations_Name_DisplayName); + dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Id), + Resources.HydraulicBoundaryDatabase_Locations_Id_DisplayName); + dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Location), + Resources.HydraulicBoundaryDatabase_Locations_Coordinates_DisplayName); + } + /// /// Gets or sets the . /// Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/WaveHeightLocationsView.cs =================================================================== diff -u -r5410853d339d757acb6f70e2be07a332e4574d39 -r58f97f0c2d1986f6ff8def960f4b6a0454129d68 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/WaveHeightLocationsView.cs (.../WaveHeightLocationsView.cs) (revision 5410853d339d757acb6f70e2be07a332e4574d39) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/WaveHeightLocationsView.cs (.../WaveHeightLocationsView.cs) (revision 58f97f0c2d1986f6ff8def960f4b6a0454129d68) @@ -39,7 +39,6 @@ public WaveHeightLocationsView() { InitializeComponent(); - InitializeDataGridView(); } protected override void SetDataSource() @@ -56,16 +55,9 @@ CalculationCommandHandler.CalculateWaveHeights(AssessmentSection, locations); } - private void InitializeDataGridView() + protected override void InitializeDataGridView() { - dataGridViewControl.AddCheckBoxColumn(TypeUtils.GetMemberName(row => row.ToCalculate), - Resources.HydraulicBoundaryLocationsView_Calculate); - dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Name), - Resources.HydraulicBoundaryDatabase_Locations_Name_DisplayName); - dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Id), - Resources.HydraulicBoundaryDatabase_Locations_Id_DisplayName); - dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.Location), - Resources.HydraulicBoundaryDatabase_Locations_Coordinates_DisplayName); + base.InitializeDataGridView(); dataGridViewControl.AddTextBoxColumn(TypeUtils.GetMemberName(row => row.WaveHeight), Resources.HydraulicBoundaryDatabase_Locations_WaveHeight_DisplayName); } Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/DesignWaterLevelLocationsViewTest.cs =================================================================== diff -u -r68fb2bea16670fc88e626118a808560690610e57 -r58f97f0c2d1986f6ff8def960f4b6a0454129d68 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/DesignWaterLevelLocationsViewTest.cs (.../DesignWaterLevelLocationsViewTest.cs) (revision 68fb2bea16670fc88e626118a808560690610e57) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/DesignWaterLevelLocationsViewTest.cs (.../DesignWaterLevelLocationsViewTest.cs) (revision 58f97f0c2d1986f6ff8def960f4b6a0454129d68) @@ -27,7 +27,6 @@ using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Base.Geometry; -using Core.Common.Gui.Selection; using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; @@ -36,7 +35,6 @@ using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.HydraRing.Data; using Ringtoets.Integration.Forms.Commands; -using Ringtoets.Integration.Forms.PresentationObjects; using Ringtoets.Integration.Forms.Views; namespace Ringtoets.Integration.Forms.Test.Views @@ -106,38 +104,6 @@ } [Test] - public void Data_IAssessmentSection_DataSet() - { - // Setup - using (var view = new DesignWaterLevelLocationsView()) - { - var assessmentSection = new TestAssessmentSection(); - - // Call - view.Data = assessmentSection; - - // Assert - Assert.AreSame(assessmentSection, view.Data); - } - } - - [Test] - public void Data_OtherThanIAssessmentSection_DataNull() - { - // Setup - using (var view = new DesignWaterLevelLocationsView()) - { - var data = new object(); - - // Call - view.Data = data; - - // Assert - Assert.IsNull(view.Data); - } - } - - [Test] public void DesignWaterLevelLocationsView_AssessmentSectionWithData_DataGridViewCorrectlyInitialized() { // Setup & Call @@ -233,149 +199,6 @@ } [Test] - public void DesignWaterLevelLocationsView_SelectingCellInRow_ApplicationSelectionCorrectlySynced() - { - // Setup - var view = ShowFullyConfiguredDesignWaterLevelLocationsView(); - IAssessmentSection assessmentSection = (IAssessmentSection) view.Data; - var secondHydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.Skip(1).First(); - - var mocks = new MockRepository(); - var applicationSelectionMock = mocks.StrictMock(); - applicationSelectionMock.Stub(asm => asm.Selection).Return(null); - applicationSelectionMock.Expect(asm => asm.Selection = new DesignWaterLevelLocationContext( - assessmentSection.HydraulicBoundaryDatabase, - secondHydraulicBoundaryLocation)); - mocks.ReplayAll(); - - view.ApplicationSelection = applicationSelectionMock; - - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - - // Call - dataGridView.CurrentCell = dataGridView.Rows[1].Cells[locationNameColumnIndex]; - EventHelper.RaiseEvent(dataGridView, "CellClick", new DataGridViewCellEventArgs(1, 0)); - - // Assert - mocks.VerifyAll(); - } - - [Test] - public void DesignWaterLevelLocationsView_SelectingCellInAlreadySelectedRow_ApplicationSelectionNotSyncedRedundantly() - { - // Setup - var view = ShowFullyConfiguredDesignWaterLevelLocationsView(); - - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - dataGridView.CurrentCell = dataGridView.Rows[1].Cells[locationNameColumnIndex]; - - var mocks = new MockRepository(); - var applicationSelectionMock = mocks.StrictMock(); - applicationSelectionMock.Stub(asm => asm.Selection).Return(view.Selection); - mocks.ReplayAll(); - - view.ApplicationSelection = applicationSelectionMock; - - // Call - dataGridView.CurrentCell = dataGridView.Rows[1].Cells[locationNameColumnIndex]; - EventHelper.RaiseEvent(dataGridView, "CellClick", new DataGridViewCellEventArgs(locationNameColumnIndex, 0)); - - // Assert - mocks.VerifyAll(); - } - - [Test] - [TestCase(0)] - [TestCase(1)] - [TestCase(2)] - public void Selection_Always_ReturnsTheSelectedRowObject(int selectedRow) - { - // Setup - var view = ShowFullyConfiguredDesignWaterLevelLocationsView(); - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - dataGridView.CurrentCell = dataGridView.Rows[selectedRow].Cells[locationNameColumnIndex]; - - // Call - var selection = view.Selection; - - // Assert - Assert.IsInstanceOf(selection); - HydraulicBoundaryDatabase hydraulicBoundaryDatabase = ((IAssessmentSection) view.Data).HydraulicBoundaryDatabase; - Assert.AreSame(hydraulicBoundaryDatabase, ((DesignWaterLevelLocationContext) selection).WrappedData); - } - - [Test] - public void SelectAllButton_SelectAllButtonClicked_AllLocationsSelected() - { - // Setup - ShowFullyConfiguredDesignWaterLevelLocationsView(); - - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - var rows = dataGridView.Rows; - var button = new ButtonTester("SelectAllButton", testForm); - - // Precondition - Assert.IsFalse((bool) rows[0].Cells[locationCalculateColumnIndex].Value); - Assert.IsFalse((bool) rows[1].Cells[locationCalculateColumnIndex].Value); - Assert.IsFalse((bool) rows[2].Cells[locationCalculateColumnIndex].Value); - - // Call - button.Click(); - - // Assert - Assert.IsTrue((bool) rows[0].Cells[locationCalculateColumnIndex].Value); - Assert.IsTrue((bool) rows[1].Cells[locationCalculateColumnIndex].Value); - Assert.IsTrue((bool) rows[2].Cells[locationCalculateColumnIndex].Value); - } - - [Test] - public void DeselectAllButton_AllLocationsSelectedDeselectAllButtonClicked_AllLocationsNotSelected() - { - // Setup - ShowFullyConfiguredDesignWaterLevelLocationsView(); - - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - var rows = dataGridView.Rows; - var button = new ButtonTester("DeselectAllButton", testForm); - - foreach (DataGridViewRow row in rows) - { - row.Cells[locationCalculateColumnIndex].Value = true; - } - - // Precondition - Assert.IsTrue((bool) rows[0].Cells[locationCalculateColumnIndex].Value); - Assert.IsTrue((bool) rows[1].Cells[locationCalculateColumnIndex].Value); - Assert.IsTrue((bool) rows[2].Cells[locationCalculateColumnIndex].Value); - - // Call - button.Click(); - - // Assert - Assert.IsFalse((bool) rows[0].Cells[locationCalculateColumnIndex].Value); - Assert.IsFalse((bool) rows[1].Cells[locationCalculateColumnIndex].Value); - Assert.IsFalse((bool) rows[2].Cells[locationCalculateColumnIndex].Value); - } - - [Test] - public void CalculateForSelectedButton_NoneSelected_CalculateForSelectedButtonDisabled() - { - // Setup - var mockRepository = new MockRepository(); - var commandHandlerMock = mockRepository.StrictMock(); - mockRepository.ReplayAll(); - - DesignWaterLevelLocationsView view = ShowFullyConfiguredDesignWaterLevelLocationsView(); - view.CalculationCommandHandler = commandHandlerMock; - - // Assert - var buttonTester = new ButtonTester("CalculateForSelectedButton", testForm); - var button = (Button) buttonTester.TheObject; - Assert.IsFalse(button.Enabled); - mockRepository.VerifyAll(); - } - - [Test] public void CalculateForSelectedButton_OneSelected_CallsCalculateDesignWaterLevels() { // Setup Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionItemRowTest.cs =================================================================== diff -u -rf1bf048f691ca575f22e8807911ace0338fa425d -r58f97f0c2d1986f6ff8def960f4b6a0454129d68 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionItemRowTest.cs (.../FailureMechanismContributionItemRowTest.cs) (revision f1bf048f691ca575f22e8807911ace0338fa425d) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionItemRowTest.cs (.../FailureMechanismContributionItemRowTest.cs) (revision 58f97f0c2d1986f6ff8def960f4b6a0454129d68) @@ -44,7 +44,7 @@ } [Test] - public void Constructor_WithFailureMechanismContributionItem_PropertiesFromFailureMechanismContributionItemn() + public void Constructor_WithFailureMechanismContributionItem_PropertiesFromFailureMechanismContributionItem() { // Setup var pipingFailureMechanism = new PipingFailureMechanism(); Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/HydraulicBoundaryLocationsViewTest.cs =================================================================== diff -u -r5410853d339d757acb6f70e2be07a332e4574d39 -r58f97f0c2d1986f6ff8def960f4b6a0454129d68 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/HydraulicBoundaryLocationsViewTest.cs (.../HydraulicBoundaryLocationsViewTest.cs) (revision 5410853d339d757acb6f70e2be07a332e4574d39) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/HydraulicBoundaryLocationsViewTest.cs (.../HydraulicBoundaryLocationsViewTest.cs) (revision 58f97f0c2d1986f6ff8def960f4b6a0454129d68) @@ -25,9 +25,9 @@ using System.Windows.Forms; using Core.Common.Base; using Core.Common.Base.Data; +using Core.Common.Base.Geometry; using Core.Common.Controls.Views; using Core.Common.Gui.Selection; -using Core.Common.Utils.Reflection; using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; @@ -84,6 +84,37 @@ } [Test] + public void Constructor_DataGridViewCorrectlyInitialized() + { + // Setup & Call + ShowTestHydraulicBoundaryLocationsView(); + + // Assert + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + Assert.AreEqual(4, dataGridView.ColumnCount); + + var locationCalculateColumn = (DataGridViewCheckBoxColumn) dataGridView.Columns[locationCalculateColumnIndex]; + const string expectedLocationCalculateHeaderText = "Berekenen"; + Assert.AreEqual(expectedLocationCalculateHeaderText, locationCalculateColumn.HeaderText); + + var locationNameColumn = (DataGridViewTextBoxColumn) dataGridView.Columns[locationNameColumnIndex]; + const string expectedLocationNameHeaderText = "Naam"; + Assert.AreEqual(expectedLocationNameHeaderText, locationNameColumn.HeaderText); + + var locationIdColumn = (DataGridViewTextBoxColumn) dataGridView.Columns[locationIdColumnIndex]; + const string expectedLocationIdHeaderText = "ID"; + Assert.AreEqual(expectedLocationIdHeaderText, locationIdColumn.HeaderText); + + var locationColumn = (DataGridViewTextBoxColumn) dataGridView.Columns[locationColumnIndex]; + const string expectedLocationHeaderText = "Coördinaten [m]"; + Assert.AreEqual(expectedLocationHeaderText, locationColumn.HeaderText); + + var buttonTester = new ButtonTester("CalculateForSelectedButton", testForm); + var button = (Button) buttonTester.TheObject; + Assert.IsFalse(button.Enabled); + } + + [Test] public void Data_IAssessmentSection_DataSet() { // Setup @@ -116,6 +147,71 @@ } [Test] + public void HydraulicBoundaryLocationsView_AssessmentSectionWithData_DataGridViewCorrectlyInitialized() + { + // Setup & Call + ShowFullyConfiguredTestHydraulicBoundaryLocationsView(); + + // Assert + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + var rows = dataGridView.Rows; + Assert.AreEqual(3, rows.Count); + + var cells = rows[0].Cells; + Assert.AreEqual(4, cells.Count); + Assert.AreEqual(false, cells[locationCalculateColumnIndex].FormattedValue); + Assert.AreEqual("1", cells[locationNameColumnIndex].FormattedValue); + Assert.AreEqual("1", cells[locationIdColumnIndex].FormattedValue); + Assert.AreEqual(new Point2D(1, 1).ToString(), cells[locationColumnIndex].FormattedValue); + + cells = rows[1].Cells; + Assert.AreEqual(4, cells.Count); + Assert.AreEqual(false, cells[locationCalculateColumnIndex].FormattedValue); + Assert.AreEqual("2", cells[locationNameColumnIndex].FormattedValue); + Assert.AreEqual("2", cells[locationIdColumnIndex].FormattedValue); + Assert.AreEqual(new Point2D(2, 2).ToString(), cells[locationColumnIndex].FormattedValue); + + cells = rows[2].Cells; + Assert.AreEqual(4, cells.Count); + Assert.AreEqual(false, cells[locationCalculateColumnIndex].FormattedValue); + Assert.AreEqual("3", cells[locationNameColumnIndex].FormattedValue); + Assert.AreEqual("3", cells[locationIdColumnIndex].FormattedValue); + Assert.AreEqual(new Point2D(3, 3).ToString(), cells[locationColumnIndex].FormattedValue); + } + + [Test] + public void HydraulicBoundaryLocationsView_HydraulicBoundaryDatabaseUpdated_DataGridViewCorrectlyUpdated() + { + // Setup + var view = ShowFullyConfiguredTestHydraulicBoundaryLocationsView(); + IAssessmentSection assessmentSection = (IAssessmentSection) view.Data; + HydraulicBoundaryDatabase newHydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(10, "10", 10.0, 10.0) + { + DesignWaterLevel = (RoundedDouble) 10.23 + }; + newHydraulicBoundaryDatabase.Locations.Add(hydraulicBoundaryLocation); + + // Precondition + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + var rows = dataGridView.Rows; + Assert.AreEqual(3, rows.Count); + + // Call + assessmentSection.HydraulicBoundaryDatabase = newHydraulicBoundaryDatabase; + assessmentSection.NotifyObservers(); + + // Assert + Assert.AreEqual(1, rows.Count); + var cells = rows[0].Cells; + Assert.AreEqual(4, cells.Count); + Assert.AreEqual(false, cells[locationCalculateColumnIndex].FormattedValue); + Assert.AreEqual("10", cells[locationNameColumnIndex].FormattedValue); + Assert.AreEqual("10", cells[locationIdColumnIndex].FormattedValue); + Assert.AreEqual(new Point2D(10, 10).ToString(), cells[locationColumnIndex].FormattedValue); + } + + [Test] public void HydraulicBoundaryLocationsView_SelectingCellInRow_ApplicationSelectionCorrectlySynced() { // Setup @@ -308,6 +404,9 @@ } private const int locationCalculateColumnIndex = 0; + private const int locationNameColumnIndex = 1; + private const int locationIdColumnIndex = 2; + private const int locationColumnIndex = 3; private TestHydraulicBoundaryLocationsView ShowTestHydraulicBoundaryLocationsView() { @@ -382,11 +481,10 @@ : base(hydraulicBoundaryLocationContext) {} } - private class TestHydraulicBoundaryLocationsView : HydraulicBoundaryLocationsView + private sealed class TestHydraulicBoundaryLocationsView : HydraulicBoundaryLocationsView { public TestHydraulicBoundaryLocationsView() { - dataGridViewControl.AddCheckBoxColumn(TypeUtils.GetMemberName(row => row.ToCalculate), ""); LocationsToCalculate = new List(); } Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/WaveHeightLocationsViewTest.cs =================================================================== diff -u -r68fb2bea16670fc88e626118a808560690610e57 -r58f97f0c2d1986f6ff8def960f4b6a0454129d68 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/WaveHeightLocationsViewTest.cs (.../WaveHeightLocationsViewTest.cs) (revision 68fb2bea16670fc88e626118a808560690610e57) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/WaveHeightLocationsViewTest.cs (.../WaveHeightLocationsViewTest.cs) (revision 58f97f0c2d1986f6ff8def960f4b6a0454129d68) @@ -27,7 +27,6 @@ using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Base.Geometry; -using Core.Common.Gui.Selection; using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; @@ -36,7 +35,6 @@ using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.HydraRing.Data; using Ringtoets.Integration.Forms.Commands; -using Ringtoets.Integration.Forms.PresentationObjects; using Ringtoets.Integration.Forms.Views; namespace Ringtoets.Integration.Forms.Test.Views @@ -102,38 +100,6 @@ } [Test] - public void Data_IAssessmentSection_DataSet() - { - // Setup - using (var view = new WaveHeightLocationsView()) - { - var assessmentSection = new TestAssessmentSection(); - - // Call - view.Data = assessmentSection; - - // Assert - Assert.AreSame(assessmentSection, view.Data); - } - } - - [Test] - public void Data_OtherThanIAssessmentSection_DataNull() - { - // Setup - using (var view = new WaveHeightLocationsView()) - { - var data = new object(); - - // Call - view.Data = data; - - // Assert - Assert.IsNull(view.Data); - } - } - - [Test] public void WaveHeightLocationsView_AssessmentSectionWithData_DataGridViewCorrectlyInitialized() { // Setup & Call @@ -229,149 +195,6 @@ } [Test] - public void WaveHeightLocationsView_SelectingCellInRow_ApplicationSelectionCorrectlySynced() - { - // Setup - var view = ShowFullyConfiguredWaveHeightLocationsView(); - IAssessmentSection assessmentSection = (IAssessmentSection) view.Data; - var secondHydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.Skip(1).First(); - - var mocks = new MockRepository(); - var applicationSelectionMock = mocks.StrictMock(); - applicationSelectionMock.Stub(asm => asm.Selection).Return(null); - applicationSelectionMock.Expect(asm => asm.Selection = new WaveHeightLocationContext( - assessmentSection.HydraulicBoundaryDatabase, - secondHydraulicBoundaryLocation)); - mocks.ReplayAll(); - - view.ApplicationSelection = applicationSelectionMock; - - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - - // Call - dataGridView.CurrentCell = dataGridView.Rows[1].Cells[locationNameColumnIndex]; - EventHelper.RaiseEvent(dataGridView, "CellClick", new DataGridViewCellEventArgs(1, 0)); - - // Assert - mocks.VerifyAll(); - } - - [Test] - public void WaveHeightLocationsView_SelectingCellInAlreadySelectedRow_ApplicationSelectionNotSyncedRedundantly() - { - // Setup - var view = ShowFullyConfiguredWaveHeightLocationsView(); - - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - dataGridView.CurrentCell = dataGridView.Rows[1].Cells[locationNameColumnIndex]; - - var mocks = new MockRepository(); - var applicationSelectionMock = mocks.StrictMock(); - applicationSelectionMock.Stub(asm => asm.Selection).Return(view.Selection); - mocks.ReplayAll(); - - view.ApplicationSelection = applicationSelectionMock; - - // Call - dataGridView.CurrentCell = dataGridView.Rows[1].Cells[locationNameColumnIndex]; - EventHelper.RaiseEvent(dataGridView, "CellClick", new DataGridViewCellEventArgs(locationNameColumnIndex, 0)); - - // Assert - mocks.VerifyAll(); - } - - [Test] - [TestCase(0)] - [TestCase(1)] - [TestCase(2)] - public void Selection_Always_ReturnsTheSelectedRowObject(int selectedRow) - { - // Setup - var view = ShowFullyConfiguredWaveHeightLocationsView(); - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - dataGridView.CurrentCell = dataGridView.Rows[selectedRow].Cells[locationNameColumnIndex]; - - // Call - var selection = view.Selection; - - // Assert - Assert.IsInstanceOf(selection); - HydraulicBoundaryDatabase hydraulicBoundaryDatabase = ((IAssessmentSection) view.Data).HydraulicBoundaryDatabase; - Assert.AreSame(hydraulicBoundaryDatabase, ((WaveHeightLocationContext) selection).WrappedData); - } - - [Test] - public void SelectAllButton_SelectAllButtonClicked_AllLocationsSelected() - { - // Setup - ShowFullyConfiguredWaveHeightLocationsView(); - - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - var rows = dataGridView.Rows; - var button = new ButtonTester("SelectAllButton", testForm); - - // Precondition - Assert.IsFalse((bool) rows[0].Cells[locationCalculateColumnIndex].Value); - Assert.IsFalse((bool) rows[1].Cells[locationCalculateColumnIndex].Value); - Assert.IsFalse((bool) rows[2].Cells[locationCalculateColumnIndex].Value); - - // Call - button.Click(); - - // Assert - Assert.IsTrue((bool) rows[0].Cells[locationCalculateColumnIndex].Value); - Assert.IsTrue((bool) rows[1].Cells[locationCalculateColumnIndex].Value); - Assert.IsTrue((bool) rows[2].Cells[locationCalculateColumnIndex].Value); - } - - [Test] - public void DeselectAllButton_AllLocationsSelectedDeselectAllButtonClicked_AllLocationsNotSelected() - { - // Setup - ShowFullyConfiguredWaveHeightLocationsView(); - - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - var rows = dataGridView.Rows; - var button = new ButtonTester("DeselectAllButton", testForm); - - foreach (DataGridViewRow row in rows) - { - row.Cells[locationCalculateColumnIndex].Value = true; - } - - // Precondition - Assert.IsTrue((bool) rows[0].Cells[locationCalculateColumnIndex].Value); - Assert.IsTrue((bool) rows[1].Cells[locationCalculateColumnIndex].Value); - Assert.IsTrue((bool) rows[2].Cells[locationCalculateColumnIndex].Value); - - // Call - button.Click(); - - // Assert - Assert.IsFalse((bool) rows[0].Cells[locationCalculateColumnIndex].Value); - Assert.IsFalse((bool) rows[1].Cells[locationCalculateColumnIndex].Value); - Assert.IsFalse((bool) rows[2].Cells[locationCalculateColumnIndex].Value); - } - - [Test] - public void CalculateForSelectedButton_NoneSelected_CalculateForSelectedButtonDisabled() - { - // Setup - var mockRepository = new MockRepository(); - var commandHandlerMock = mockRepository.StrictMock(); - mockRepository.ReplayAll(); - - WaveHeightLocationsView view = ShowFullyConfiguredWaveHeightLocationsView(); - view.CalculationCommandHandler = commandHandlerMock; - - // Assert - var buttonTester = new ButtonTester("CalculateForSelectedButton", testForm); - var button = (Button) buttonTester.TheObject; - Assert.IsFalse(button.Enabled); - mockRepository.VerifyAll(); - } - - [Test] public void CalculateForSelectedButton_OneSelected_CallsCalculateWaveHeights() { // Setup