public void GivenViewWithSpecificFailureMechanismData_WhenFailureMechanismNameUpdatedAndNotified_ThenMapDataUpdatedAndObserversNotified() { // Given var mocks = new MockRepository(); var observer = mocks.StrictMock <IObserver>(); observer.Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new SpecificFailureMechanism(); SpecificFailureMechanismView view = CreateView(failureMechanism, assessmentSection); MapDataCollection mapData = view.Map.Data; mapData.Attach(observer); // Precondition Assert.AreEqual(failureMechanism.Name, mapData.Name); // When const string newFailureMechanismName = "New Failure Mechanism Name"; failureMechanism.Name = newFailureMechanismName; failureMechanism.NotifyObservers(); // Then Assert.AreEqual(newFailureMechanismName, mapData.Name); mocks.VerifyAll(); }
private SpecificFailureMechanismView CreateView(SpecificFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { var view = new SpecificFailureMechanismView(failureMechanism, assessmentSection); testForm.Controls.Add(view); testForm.Show(); return(view); }
public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() { // Setup var failureMechanism = new SpecificFailureMechanism(); var assessmentSection = new AssessmentSectionStub(); var view = new SpecificFailureMechanismView(failureMechanism, assessmentSection); // Call bool closeForData = info.CloseForData(view, failureMechanism); // Assert Assert.IsTrue(closeForData); 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(); }
public void CloseForData_ViewNotCorrespondingToRemovedContext_ReturnsFalse() { // Setup var otherAssessmentSection = mocks.Stub <IAssessmentSection>(); mocks.ReplayAll(); var failureMechanism = new SpecificFailureMechanism(); var assessmentSection = new AssessmentSectionStub(); var view = new SpecificFailureMechanismView(failureMechanism, assessmentSection); var context = new SpecificFailureMechanismContext(new SpecificFailureMechanism(), otherAssessmentSection); // Call bool closeForData = info.CloseForData(view, context); // Assert Assert.IsFalse(closeForData); mocks.VerifyAll(); }
public void CloseForData_ViewNotCorrespondingToRemovedAssessmentSection_ReturnsFalse() { // Setup var otherAssessmentSection = mocks.Stub <IAssessmentSection>(); otherAssessmentSection.Stub(ass => ass.SpecificFailureMechanisms).Return(new ObservableList <SpecificFailureMechanism>()); otherAssessmentSection.Stub(ass => ass.GetFailureMechanisms()).Return(Enumerable.Empty <IFailureMechanism>()); mocks.ReplayAll(); var failureMechanism = new SpecificFailureMechanism(); var assessmentSection = new AssessmentSectionStub(); var view = new SpecificFailureMechanismView(failureMechanism, assessmentSection); // Call bool closeForData = info.CloseForData(view, otherAssessmentSection); // Assert Assert.IsFalse(closeForData); mocks.VerifyAll(); }
public void Constructor_WithArguments_ExpectedValues() { // Setup var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new SpecificFailureMechanism(); // Call SpecificFailureMechanismView view = CreateView(failureMechanism, assessmentSection); // Assert Assert.IsInstanceOf <CloseForFailureMechanismView>(view); Assert.IsInstanceOf <IMapView>(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); 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(failureMechanism, view.Map.Data); }
public void GivenViewWithFailureMechanismSectionData_WhenFailureMechanismsUpdatedAndNotified_ThenMapDataUpdatedAndObserversNotified() { // Given var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new SpecificFailureMechanism(); SpecificFailureMechanismView view = CreateView(failureMechanism, assessmentSection); IEnumerable <MapData> mapDataCollection = view.Map.Data.Collection; IEnumerable <MapData> sectionsCollection = ((MapDataCollection)mapDataCollection.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, mapDataCollection); observers[sectionsCollectionIndex + sectionsIndex].Expect(obs => obs.UpdateObserver()); observers[sectionsCollectionIndex + sectionsStartPointIndex].Expect(obs => obs.UpdateObserver()); observers[sectionsCollectionIndex + sectionsEndPointIndex].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 UpdateObserver_DataUpdated_MapLayersSameOrder() { // Given const int updatedReferenceLineLayerIndex = referenceLineIndex + hydraulicBoundaryLocationsIndex; const int updatedSectionsCollectionLayerIndex = sectionsCollectionIndex - 1; const int updatedHydraulicBoundaryLocationsLayerIndex = hydraulicBoundaryLocationsIndex - 1; const int updatedAssemblyResultsIndex = assemblyResultsIndex - 1; var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new SpecificFailureMechanism(); SpecificFailureMechanismView view = CreateView(failureMechanism, assessmentSection); MapDataCollection mapData = view.Map.Data; IEnumerable <MapData> mapDataCollection = mapData.Collection; MapData dataToMove = mapDataCollection.ElementAt(referenceLineIndex); mapData.Remove(dataToMove); mapData.Add(dataToMove); // Precondition MapData referenceLineData = mapDataCollection.ElementAt(updatedReferenceLineLayerIndex); Assert.AreEqual("Referentielijn", referenceLineData.Name); MapData sectionsData = mapDataCollection.ElementAt(updatedSectionsCollectionLayerIndex); Assert.AreEqual("Vakindeling", sectionsData.Name); var assemblyResultsData = (MapLineData)mapDataCollection.ElementAt(updatedAssemblyResultsIndex); Assert.AreEqual("Duidingsklasse per vak", assemblyResultsData.Name); MapData hydraulicBoundaryLocationsData = mapDataCollection.ElementAt(updatedHydraulicBoundaryLocationsLayerIndex); Assert.AreEqual("Hydraulische belastingen", hydraulicBoundaryLocationsData.Name); // When 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; assessmentSection.NotifyObservers(); // Then MapData actualReferenceLineData = mapDataCollection.ElementAt(updatedReferenceLineLayerIndex); Assert.AreEqual("Referentielijn", actualReferenceLineData.Name); MapData actualSectionsData = mapDataCollection.ElementAt(updatedSectionsCollectionLayerIndex); Assert.AreEqual("Vakindeling", actualSectionsData.Name); var actualAssemblyResultsData = (MapLineData)mapDataCollection.ElementAt(updatedAssemblyResultsIndex); Assert.AreEqual("Duidingsklasse per vak", actualAssemblyResultsData.Name); MapData actualHydraulicBoundaryLocationsData = mapDataCollection.ElementAt(updatedHydraulicBoundaryLocationsLayerIndex); Assert.AreEqual("Hydraulische belastingen", actualHydraulicBoundaryLocationsData.Name); }
public void Constructor_WithAllData_DataUpdatedToCollectionOfFilledMapData() { // Setup 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) }); 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 SpecificFailureMechanism(); 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)) }); using (new AssemblyToolCalculatorFactoryConfig()) { // Call SpecificFailureMechanismView view = CreateView(failureMechanism, assessmentSection); // Assert MapDataCollection mapData = view.Map.Data; List <MapData> mapDataList = mapData.Collection.ToList(); Assert.AreEqual(4, mapDataList.Count); MapDataTestHelper.AssertReferenceLineMapData(assessmentSection.ReferenceLine, mapDataList[referenceLineIndex]); IEnumerable <MapData> sectionsCollection = ((MapDataCollection)mapDataList[sectionsCollectionIndex]).Collection; MapDataTestHelper.AssertFailureMechanismSectionsMapData(failureMechanism.Sections, sectionsCollection.ElementAt(sectionsIndex)); MapDataTestHelper.AssertFailureMechanismSectionsStartPointMapData(failureMechanism.Sections, sectionsCollection.ElementAt(sectionsStartPointIndex)); MapDataTestHelper.AssertFailureMechanismSectionsEndPointMapData(failureMechanism.Sections, sectionsCollection.ElementAt(sectionsEndPointIndex)); var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance; FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; MapDataTestHelper.AssertAssemblyMapData(failureMechanism, calculator.FailureMechanismSectionAssemblyResultOutput.AssemblyResult, mapDataList[assemblyResultsIndex]); MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapDataList[hydraulicBoundaryLocationsIndex]); } }