Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/ScenariosViewTest.cs =================================================================== diff -u -r9f6481bc31f2992b06a7ce74c7f10ca09a31b625 -rfb8bbe3c5b426c639b09090b71a8c5183a13ecf7 --- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/ScenariosViewTest.cs (.../ScenariosViewTest.cs) (revision 9f6481bc31f2992b06a7ce74c7f10ca09a31b625) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/ScenariosViewTest.cs (.../ScenariosViewTest.cs) (revision fb8bbe3c5b426c639b09090b71a8c5183a13ecf7) @@ -23,11 +23,13 @@ using System.Collections.Generic; using System.Linq; using System.Windows.Forms; +using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Core.Common.Controls.Views; using NUnit.Extensions.Forms; using NUnit.Framework; +using Rhino.Mocks; using Riskeer.Common.Data.Calculation; using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Data.TestUtil; @@ -206,6 +208,32 @@ } [Test] + [TestCase(isRelevantColumnIndex, true)] + [TestCase(contributionColumnIndex, 30.0)] + public void ScenariosView_EditingPropertyViaDataGridView_ObserversCorrectlyNotified(int cellIndex, object newValue) + { + // Setup + var mocks = new MockRepository(); + var calculationObserver = mocks.StrictMock(); + calculationObserver.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + + var calculationGroup = new CalculationGroup(); + ShowFullyConfiguredScenariosView(calculationGroup, new TestFailureMechanism()); + + ICalculation calculation = calculationGroup.GetCalculations().First(); + calculation.Attach(calculationObserver); + + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + + // Call + dataGridView.Rows[0].Cells[cellIndex].Value = newValue is double value ? (RoundedDouble) value : newValue; + + // Assert + mocks.VerifyAll(); + } + + [Test] public void GivenScenariosView_WhenSelectingDifferentItemInSectionsListBox_ThenDataGridViewUpdated() { // Given