public void GivenViewWithSurfaceLineData_WhenSurfaceLineUpdatedAndNotified_ThenMapDataUpdated() { // Given var surfaceLine = new PipingSurfaceLine(string.Empty); var failureMechanism = new PipingFailureMechanism(); failureMechanism.SurfaceLines.AddRange(new[] { surfaceLine }, "path"); PipingFailureMechanismView view = CreateView(failureMechanism, new AssessmentSectionStub()); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[surfaceLinesIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); // When surfaceLine.SetGeometry(new[] { new Point3D(7, 8, 9), new Point3D(10, 11, 12) }); surfaceLine.NotifyObservers(); // Then var surfaceLineMapData = (MapLineData)map.Data.Collection.ElementAt(surfaceLinesIndex); AssertSurfaceLinesMapData(failureMechanism.SurfaceLines, surfaceLineMapData); mocks.VerifyAll(); }