private ClosingStructuresFailureMechanismView CreateView(ClosingStructuresFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { var view = new ClosingStructuresFailureMechanismView(failureMechanism, assessmentSection); testForm.Controls.Add(view); testForm.Show(); return(view); }
public void Constructor_AssessmentSectionWithBackgroundData_BackgroundDataSet() { // Setup IAssessmentSection assessmentSection = new AssessmentSectionStub(); // Call ClosingStructuresFailureMechanismView view = CreateView(new ClosingStructuresFailureMechanism(), assessmentSection); // Assert MapDataTestHelper.AssertImageBasedMapData(assessmentSection.BackgroundData, view.Map.BackgroundMapData); }
public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() { // Setup var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new ClosingStructuresFailureMechanism(); var view = new ClosingStructuresFailureMechanismView(failureMechanism, assessmentSection); // Call bool closeForData = info.CloseForData(view, failureMechanism); // Assert Assert.IsTrue(closeForData); }
public void GivenViewWithCalculationGroupData_WhenCalculationGroupUpdatedAndNotified_ThenMapDataUpdated() { // Given var calculationA = new StructuresCalculation <ClosingStructuresInput> { InputParameters = { HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 1.3, 2.3), Structure = new TestClosingStructure(new Point2D(1.2, 2.3)) } }; var failureMechanism = new ClosingStructuresFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculationA); ClosingStructuresFailureMechanismView view = CreateView(failureMechanism, new AssessmentSectionStub()); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[calculationObserverIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); var calculationMapData = (MapLineData)map.Data.Collection.ElementAt(calculationsIndex); // Precondition AssertCalculationsMapData(failureMechanism.Calculations.Cast <StructuresCalculation <ClosingStructuresInput> >(), calculationMapData); // When var calculationB = new StructuresCalculation <ClosingStructuresInput> { InputParameters = { HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 7.7, 12.6), Structure = new TestClosingStructure(new Point2D(2.7, 2.0)) } }; failureMechanism.CalculationsGroup.Children.Add(calculationB); failureMechanism.CalculationsGroup.NotifyObservers(); // Then AssertCalculationsMapData(failureMechanism.Calculations.Cast <StructuresCalculation <ClosingStructuresInput> >(), calculationMapData); mocks.VerifyAll(); }
public void Constructor_ExpectedValues() { // Setup var failureMechanism = new ClosingStructuresFailureMechanism(); var assessmentSection = new AssessmentSectionStub(); // Call ClosingStructuresFailureMechanismView view = CreateView(failureMechanism, assessmentSection); // Assert Assert.IsInstanceOf <CalculationsStateFailureMechanismView>(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); Assert.AreSame(assessmentSection, view.AssessmentSection); AssertEmptyMapData(view.Map.Data); }
public void GivenViewWithForeshoreProfilesData_WhenForeshoreProfilesUpdatedAndNotified_ThenMapDataUpdated() { // Given var failureMechanism = new ClosingStructuresFailureMechanism(); failureMechanism.ForeshoreProfiles.AddRange(new[] { new TestForeshoreProfile("originalProfile ID", new[] { new Point2D(0, 0), new Point2D(1, 1) }) }, "path"); ClosingStructuresFailureMechanismView view = CreateView(failureMechanism, new AssessmentSectionStub()); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[foreshoreProfilesObserverIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); MapData foreshoreProfileData = map.Data.Collection.ElementAt(foreshoreProfilesIndex); // Precondition MapDataTestHelper.AssertForeshoreProfilesMapData(failureMechanism.ForeshoreProfiles, foreshoreProfileData); // When failureMechanism.ForeshoreProfiles.AddRange(new[] { new TestForeshoreProfile("newProfile ID", new[] { new Point2D(2, 2), new Point2D(3, 3) }) }, "path"); failureMechanism.ForeshoreProfiles.NotifyObservers(); // Then MapDataTestHelper.AssertForeshoreProfilesMapData(failureMechanism.ForeshoreProfiles, foreshoreProfileData); 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 }; ClosingStructuresFailureMechanismView view = CreateView(new ClosingStructuresFailureMechanism(), 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); // 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 CloseForData_ViewNotCorrespondingToRemovedAssessmentSection_ReturnsFalse() { // Setup var assessmentSection = new AssessmentSectionStub(); var otherAssessmentSection = mocks.Stub <IAssessmentSection>(); mocks.ReplayAll(); var failureMechanism = new ClosingStructuresFailureMechanism(); var view = new ClosingStructuresFailureMechanismView(failureMechanism, assessmentSection); // Call bool closeForData = info.CloseForData(view, otherAssessmentSection); // Assert Assert.IsFalse(closeForData); mocks.VerifyAll(); }
public void Constructor_ExpectedValues() { // Setup var failureMechanism = new ClosingStructuresFailureMechanism(); var assessmentSection = new AssessmentSectionStub(); // Call ClosingStructuresFailureMechanismView view = CreateView(failureMechanism, assessmentSection); // Assert Assert.IsInstanceOf <UserControl>(view); Assert.IsInstanceOf <IMapView>(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); Assert.AreSame(assessmentSection, view.AssessmentSection); Assert.AreEqual(1, view.Controls.Count); Assert.IsInstanceOf <RiskeerMapControl>(view.Controls[0]); Assert.AreSame(view.Map, ((RiskeerMapControl)view.Controls[0]).MapControl); Assert.AreEqual(DockStyle.Fill, ((Control)view.Map).Dock); AssertEmptyMapData(view.Map.Data); }
public void GivenViewWithFailureMechanismSectionsData_WhenFailureMechanismUpdatedAndNotified_ThenMapDataUpdated() { // Given var failureMechanism = new ClosingStructuresFailureMechanism(); ClosingStructuresFailureMechanismView view = CreateView(failureMechanism, new AssessmentSectionStub()); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; IEnumerable <MapData> sectionsCollection = ((MapDataCollection)map.Data.Collection.ElementAt(sectionsCollectionIndex)).Collection; var sectionMapData = (MapLineData)sectionsCollection.ElementAt(sectionsIndex); var sectionStartsMapData = (MapPointData)sectionsCollection.ElementAt(sectionsStartPointIndex); var sectionsEndsMapData = (MapPointData)sectionsCollection.ElementAt(sectionsEndPointIndex); var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[sectionsObserverIndex].Expect(obs => obs.UpdateObserver()); observers[sectionsStartPointObserverIndex].Expect(obs => obs.UpdateObserver()); observers[sectionsEndPointObserverIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); // When FailureMechanismTestHelper.SetSections(failureMechanism, new[] { new FailureMechanismSection(string.Empty, new[] { new Point2D(1, 2), new Point2D(1, 2) }) }); failureMechanism.NotifyObservers(); // Then MapDataTestHelper.AssertFailureMechanismSectionsMapData(failureMechanism.Sections, sectionMapData); MapDataTestHelper.AssertFailureMechanismSectionsStartPointMapData(failureMechanism.Sections, sectionStartsMapData); MapDataTestHelper.AssertFailureMechanismSectionsEndPointMapData(failureMechanism.Sections, sectionsEndsMapData); mocks.VerifyAll(); }
public void GivenViewWithStructureData_WhenStructureUpdatedAndNotified_ThenMapDataUpdated() { // Given var structure = new TestClosingStructure(new Point2D(0, 0), "Id"); var failureMechanism = new ClosingStructuresFailureMechanism(); failureMechanism.ClosingStructures.AddRange(new[] { structure }, "path"); ClosingStructuresFailureMechanismView view = CreateView(failureMechanism, new AssessmentSectionStub()); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[structuresObserverIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); MapData structuresData = map.Data.Collection.ElementAt(structuresIndex); // Precondition MapDataTestHelper.AssertStructuresMapData(failureMechanism.ClosingStructures, structuresData); // When structure.CopyProperties(new TestClosingStructure(new Point2D(1, 1), "Id")); structure.NotifyObservers(); // Then MapDataTestHelper.AssertStructuresMapData(failureMechanism.ClosingStructures, structuresData); mocks.VerifyAll(); }
public void NotifyObservers_DataUpdated_MapLayersSameOrder() { // Setup const int updatedReferenceLineLayerIndex = referenceLineIndex + 4; const int updatedHydraulicLocationsLayerIndex = hydraulicBoundaryLocationsIndex - 1; const int updatedForeshoreProfilesLayerIndex = foreshoreProfilesIndex - 1; const int updatedStructuresLayerIndex = structuresIndex - 1; const int updatedCalculationsIndex = calculationsIndex - 1; var assessmentSection = new AssessmentSectionStub(); ClosingStructuresFailureMechanismView view = CreateView(new ClosingStructuresFailureMechanism(), assessmentSection); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; MapDataCollection mapData = map.Data; var dataToMove = (MapLineData)map.Data.Collection.ElementAt(referenceLineIndex); mapData.Remove(dataToMove); mapData.Add(dataToMove); List <MapData> mapDataList = mapData.Collection.ToList(); // Precondition var referenceLineData = (MapLineData)mapDataList[updatedReferenceLineLayerIndex]; Assert.AreEqual("Referentielijn", referenceLineData.Name); var hydraulicLocationsData = (MapPointData)mapDataList[updatedHydraulicLocationsLayerIndex]; Assert.AreEqual("Hydraulische belastingen", hydraulicLocationsData.Name); var foreshoreProfilesData = (MapLineData)mapDataList[updatedForeshoreProfilesLayerIndex]; Assert.AreEqual("Voorlandprofielen", foreshoreProfilesData.Name); var structuresData = (MapPointData)mapDataList[updatedStructuresLayerIndex]; Assert.AreEqual("Kunstwerken", structuresData.Name); var calculationsData = (MapLineData)mapDataList[updatedCalculationsIndex]; Assert.AreEqual("Berekeningen", calculationsData.Name); var points = new List <Point2D> { new Point2D(2.0, 5.0), new Point2D(4.0, 3.0) }; var referenceLine = new ReferenceLine(); referenceLine.SetGeometry(points); assessmentSection.ReferenceLine = referenceLine; // Call assessmentSection.NotifyObservers(); // Assert var actualReferenceLineData = (MapLineData)mapDataList[updatedReferenceLineLayerIndex]; Assert.AreEqual("Referentielijn", actualReferenceLineData.Name); var actualHydraulicLocationsData = (MapPointData)mapDataList[updatedHydraulicLocationsLayerIndex]; Assert.AreEqual("Hydraulische belastingen", actualHydraulicLocationsData.Name); var actualForeshoreProfilesData = (MapLineData)mapDataList[updatedForeshoreProfilesLayerIndex]; Assert.AreEqual("Voorlandprofielen", actualForeshoreProfilesData.Name); var actualStructuresData = (MapPointData)mapDataList[updatedStructuresLayerIndex]; Assert.AreEqual("Kunstwerken", actualStructuresData.Name); var actualCalculationsData = (MapLineData)mapDataList[updatedCalculationsIndex]; Assert.AreEqual("Berekeningen", actualCalculationsData.Name); }
public void Constructor_WithAllData_DataUpdatedToCollectionOfFilledMapData() { // Setup var calculationA = new StructuresCalculationScenario <ClosingStructuresInput> { InputParameters = { HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 1.3, 2.3), Structure = new TestClosingStructure(new Point2D(1.2, 2.3)) } }; var calculationB = new StructuresCalculationScenario <ClosingStructuresInput> { InputParameters = { HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 7.7, 12.6), Structure = new TestClosingStructure(new Point2D(2.7, 2.0)) } }; var geometryPoints = new[] { new Point2D(0.0, 0.0), new Point2D(2.0, 0.0), new Point2D(4.0, 4.0), new Point2D(6.0, 4.0) }; var failureMechanism = new ClosingStructuresFailureMechanism(); FailureMechanismTestHelper.SetSections(failureMechanism, new[] { new FailureMechanismSection("A", geometryPoints.Take(2)), new FailureMechanismSection("B", geometryPoints.Skip(1).Take(2)), new FailureMechanismSection("C", geometryPoints.Skip(2).Take(2)) }); var profile1 = new TestForeshoreProfile("profile1 ID", new[] { new Point2D(0, 0), new Point2D(1, 1) }); var profile2 = new TestForeshoreProfile("profile2 ID", new[] { new Point2D(2, 2), new Point2D(3, 3) }); failureMechanism.ForeshoreProfiles.AddRange(new[] { profile1, profile2 }, "path"); failureMechanism.CalculationsGroup.Children.Add(calculationA); failureMechanism.CalculationsGroup.Children.Add(calculationB); var referenceLine = new ReferenceLine(); referenceLine.SetGeometry(new[] { new Point2D(1.0, 2.0), new Point2D(2.0, 1.0) }); var assessmentSection = new AssessmentSectionStub { ReferenceLine = referenceLine }; assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] { new HydraulicBoundaryLocation(1, "test", 1.0, 2.0) }); // Call ClosingStructuresFailureMechanismView view = CreateView(failureMechanism, assessmentSection); IMapControl map = ((RiskeerMapControl)view.Controls[0]).MapControl; // Assert MapDataCollection mapData = map.Data; Assert.IsInstanceOf <MapDataCollection>(mapData); List <MapData> mapDataList = mapData.Collection.ToList(); Assert.AreEqual(5, mapDataList.Count); MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, mapDataList[referenceLineIndex]); MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapDataList[hydraulicBoundaryLocationsIndex]); MapDataTestHelper.AssertForeshoreProfilesMapData(failureMechanism.ForeshoreProfiles, mapDataList[foreshoreProfilesIndex]); AssertCalculationsMapData( failureMechanism.Calculations.Cast <StructuresCalculation <ClosingStructuresInput> >(), mapDataList[calculationsIndex]); }