Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs =================================================================== diff -u -r5e1231b2ef289c64a3d0aa3f1b2d34a1984022c1 -rfb7527b4d95e3d0a61c40560e194780423c48795 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs (.../PipingCalculationsViewTest.cs) (revision 5e1231b2ef289c64a3d0aa3f1b2d34a1984022c1) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs (.../PipingCalculationsViewTest.cs) (revision fb7527b4d95e3d0a61c40560e194780423c48795) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; @@ -33,6 +34,7 @@ using Ringtoets.Common.Data; using Ringtoets.HydraRing.Data; using Ringtoets.Piping.Data; +using Ringtoets.Piping.Forms.PresentationObjects; using Ringtoets.Piping.Forms.Views; using Ringtoets.Piping.Primitives; @@ -117,6 +119,19 @@ } [Test] + public void Data_SetToNull_DoesNotThrow() + { + // Setup + var pipingCalculationsView = ShowPipingCalculationsView(); + + // Call + var testDelegate = new TestDelegate(() => pipingCalculationsView.Data = null); + + // Assert + Assert.DoesNotThrow(testDelegate); + } + + [Test] public void Dispose_PipingCalculationViewWithAdditionalPropertiesSet_AdditionalPropertiesSetToNull() { // Setup @@ -292,6 +307,29 @@ Assert.AreEqual(string.Format("{0}", 8.89), cells[exitPointLColumnIndex].FormattedValue); } + [Test] + public void PipingCalculationsView_EnteringRow_ApplicationSelectionCorrectlySynced() + { + // Setup + var pipingCalculationsView = ShowFullyConfiguredPipingCalculationsView(); + + pipingCalculationsView.ApplicationSelection = new ApplicationSelectionImplementation(); + + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + + // Precondition + Assert.IsNull(pipingCalculationsView.ApplicationSelection.Selection); + + // Call + dataGridView.CurrentCell = dataGridView.Rows[1].Cells[0]; + dataGridView.BeginEdit(true); + + // Assert + var pipingInputContext = pipingCalculationsView.ApplicationSelection.Selection as PipingInputContext; + Assert.IsNotNull(pipingInputContext); + Assert.AreEqual("Surface line 2", pipingInputContext.WrappedData.SurfaceLine.Name); + } + [TestCase(nameColumnIndex, "New name", 1, 0)] [TestCase(soilProfilesColumnIndex, null, 0, 1)] [TestCase(hydraulicBoundaryLocationsColumnIndex, null, 0, 1)] @@ -346,6 +384,7 @@ var surfaceLine1 = new RingtoetsPipingSurfaceLine { + Name = "Surface line 1", ReferenceLineIntersectionWorldPoint = new Point2D(0.0, 0.0) }; @@ -358,6 +397,7 @@ var surfaceLine2 = new RingtoetsPipingSurfaceLine { + Name = "Surface line 2", ReferenceLineIntersectionWorldPoint = new Point2D(5.0, 0.0) }; @@ -522,5 +562,12 @@ return pipingCalculationsView; } + + private class ApplicationSelectionImplementation : IApplicationSelection + { + public object Selection { get; set; } + + public event EventHandler SelectionChanged; + } } } \ No newline at end of file