public void UpdateObserver_ReferenceLineUpdated_MapDataUpdated() { // Setup AssessmentSection assessmentSection = CreateAssessmentSectionWithReferenceLine(); ReferenceLine referenceLine = assessmentSection.ReferenceLine; using (var view = new AssemblyResultPerSectionMapView(assessmentSection)) { IMapControl map = GetMapControl(view); var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[assemblyResultsObserverIndex].Expect(obs => obs.UpdateObserver()); observers[referenceLineIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); MapData referenceLineMapData = map.Data.Collection.ElementAt(referenceLineIndex); // Precondition AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); // Call referenceLine.SetGeometry(new[] { new Point2D(2.0, 5.0), new Point2D(4.0, 3.0) }); referenceLine.NotifyObservers(); // Assert AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); mocks.VerifyAll(); } }
public void UpdateObserver_ReferenceLineUpdated_MapDataUpdated() { // Setup var referenceLine = new ReferenceLine(); referenceLine.SetGeometry(new List <Point2D> { new Point2D(1.0, 2.0), new Point2D(2.0, 1.0) }); var assessmentSection = new AssessmentSectionStub { ReferenceLine = referenceLine }; AssessmentSectionReferenceLineView view = ShowCalculationsView(assessmentSection); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; var mocks = new MockRepository(); IObserver observer = AttachReferenceLineMapDataObserver(mocks, map.Data.Collection); observer.Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); MapData referenceLineMapData = map.Data.Collection.ElementAt(referenceLineIndex); // Precondition MapDataTestHelper.AssertReferenceLineMapData(referenceLine, referenceLineMapData); Assert.IsTrue(referenceLineMapData.IsVisible); // Call referenceLine.SetGeometry(new List <Point2D> { new Point2D(2.0, 5.0), new Point2D(4.0, 3.0) }); referenceLine.NotifyObservers(); // Assert MapDataTestHelper.AssertReferenceLineMapData(referenceLine, referenceLineMapData); Assert.IsTrue(referenceLineMapData.IsVisible); mocks.VerifyAll(); }
public void UpdateObserver_ReferenceLineUpdated_MapDataUpdated() { // Setup var referenceLine = new ReferenceLine(); referenceLine.SetGeometry(new List <Point2D> { new Point2D(1.0, 2.0), new Point2D(2.0, 1.0) }); var assessmentSection = new AssessmentSectionStub { ReferenceLine = referenceLine }; using (StandAloneFailureMechanismView <IFailureMechanism <FailureMechanismSectionResult>, FailureMechanismSectionResult> view = CreateView(new TestFailureMechanism(), assessmentSection)) { IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[referenceLineIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); MapData referenceLineMapData = map.Data.Collection.ElementAt(referenceLineIndex); // Precondition MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); // Call referenceLine.SetGeometry(new List <Point2D> { new Point2D(2.0, 5.0), new Point2D(4.0, 3.0) }); referenceLine.NotifyObservers(); // Assert MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); mocks.VerifyAll(); } }
public void GivenViewWithReferenceLineData_WhenReferenceLineUpdatedAndNotified_ThenMapDataUpdated() { // Given var referenceLine = new ReferenceLine(); referenceLine.SetGeometry(new List <Point2D> { new Point2D(1.0, 2.0), new Point2D(2.0, 1.0) }); var assessmentSection = new AssessmentSectionStub { ReferenceLine = referenceLine }; GrassCoverErosionInwardsFailureMechanismView view = CreateView(new GrassCoverErosionInwardsFailureMechanism(), assessmentSection); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; MapData referenceLineMapData = map.Data.Collection.ElementAt(referenceLineIndex); var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[referenceLineIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); // Precondition MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); // When referenceLine.SetGeometry(new List <Point2D> { new Point2D(2.0, 5.0), new Point2D(4.0, 3.0) }); referenceLine.NotifyObservers(); // Then MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); mocks.VerifyAll(); }
public void GivenViewWithReferenceLineData_WhenReferenceLineUpdatedAndNotified_ThenMapDataUpdatedAndObserversNotified() { // Given var referenceLine = new ReferenceLine(); referenceLine.SetGeometry(new List <Point2D> { new Point2D(1.0, 2.0), new Point2D(2.0, 1.0) }); var assessmentSection = new AssessmentSectionStub { ReferenceLine = referenceLine }; var failureMechanism = new SpecificFailureMechanism(); SpecificFailureMechanismView view = CreateView(failureMechanism, assessmentSection); IEnumerable <MapData> mapDataCollection = view.Map.Data.Collection; MapData referenceLineMapData = mapDataCollection.ElementAt(referenceLineIndex); var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, mapDataCollection); observers[referenceLineIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); // Precondition MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); // When referenceLine.SetGeometry(new List <Point2D> { new Point2D(2.0, 5.0), new Point2D(4.0, 3.0) }); referenceLine.NotifyObservers(); // Then MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); mocks.VerifyAll(); }