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_AssessmentSectionUpdated_MapDataUpdated() { // Setup AssessmentSection assessmentSection = CreateAssessmentSectionWithReferenceLine(); using (var view = new AssemblyResultPerSectionMapView(assessmentSection)) { IMapControl map = GetMapControl(view); var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, map.Data.Collection); observers[referenceLineIndex].Expect(obs => obs.UpdateObserver()); observers[assemblyResultsObserverIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); var referenceLineMapData = (MapLineData)map.Data.Collection.ElementAt(referenceLineIndex); // Precondition MapFeaturesTestHelper.AssertReferenceLineMetaData(assessmentSection.ReferenceLine, assessmentSection, referenceLineMapData.Features); AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); // Call assessmentSection.Name = "New name"; assessmentSection.NotifyObservers(); // Assert MapFeaturesTestHelper.AssertReferenceLineMetaData(assessmentSection.ReferenceLine, assessmentSection, referenceLineMapData.Features); mocks.VerifyAll(); } }
public void Constructor_AssessmentSectionWithBackgroundData_BackgroundDataSet() { // Setup AssessmentSection assessmentSection = CreateAssessmentSection(); // Call using (var view = new AssemblyResultPerSectionMapView(assessmentSection)) { // Assert MapDataTestHelper.AssertImageBasedMapData(assessmentSection.BackgroundData, view.Map.BackgroundMapData); } }
public void GivenViewWithAssemblyResults_WhenFailureMechanismNotifiesObserver_ThenAssemblyResultsRefreshed() { // Given var random = new Random(21); AssessmentSection assessmentSection = CreateAssessmentSectionWithReferenceLine(); using (new AssemblyToolCalculatorFactoryConfig()) { var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance; AssessmentSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; calculator.CombinedFailureMechanismSectionAssemblyOutput = new CombinedFailureMechanismSectionAssemblyResultWrapper( new[] { CombinedFailureMechanismSectionAssemblyTestFactory.Create(assessmentSection, 10) }, AssemblyMethod.BOI3A1, AssemblyMethod.BOI3B1, AssemblyMethod.BOI3C1); using (var view = new AssemblyResultPerSectionMapView(assessmentSection)) { // Precondition MapDataCollection mapData = view.Map.Data; var mocks = new MockRepository(); IObserver[] observers = AttachMapDataObservers(mocks, mapData.Collection); observers[referenceLineIndex].Expect(obs => obs.UpdateObserver()); observers[assemblyResultsObserverIndex].Expect(obs => obs.UpdateObserver()); mocks.ReplayAll(); IEnumerable <CombinedFailureMechanismSectionAssemblyResult> expectedResults = AssessmentSectionAssemblyFactory.AssembleCombinedPerFailureMechanismSection(assessmentSection); AssertCombinedFailureMechanismSectionAssemblyResultMapData(expectedResults, assessmentSection.ReferenceLine, mapData.Collection.ElementAt(assemblyResultsIndex)); // When calculator.CombinedFailureMechanismSectionAssemblyOutput = new CombinedFailureMechanismSectionAssemblyResultWrapper( new[] { CombinedFailureMechanismSectionAssemblyTestFactory.Create(assessmentSection, 20) }, AssemblyMethod.BOI3A1, AssemblyMethod.BOI3B1, AssemblyMethod.BOI3C1); IEnumerable <IFailureMechanism> failureMechanisms = assessmentSection.GetFailureMechanisms(); failureMechanisms.ElementAt(random.Next(failureMechanisms.Count())).NotifyObservers(); // Then expectedResults = AssessmentSectionAssemblyFactory.AssembleCombinedPerFailureMechanismSection(assessmentSection); AssertCombinedFailureMechanismSectionAssemblyResultMapData(expectedResults, assessmentSection.ReferenceLine, mapData.Collection.ElementAt(assemblyResultsIndex)); mocks.VerifyAll(); } } }
public void CloseForData_ViewCorrespondingToRemovedAssessmentSection_ReturnsTrue() { // Setup AssessmentSection assessmentSection = CreateAssessmentSection(); using (var view = new AssemblyResultPerSectionMapView(assessmentSection)) { // Call bool closeForData = info.CloseForData(view, assessmentSection); // Assert Assert.IsTrue(closeForData); } }
public void Constructor_WithAllData_DataUpdatedToCollectionOfFilledMapData() { // Setup AssessmentSection assessmentSection = CreateAssessmentSectionWithReferenceLine(); assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] { new HydraulicBoundaryLocation(1, "test", 1.0, 2.0) }); // Call using (new AssemblyToolCalculatorFactoryConfig()) { var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance; AssessmentSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; CombinedFailureMechanismSectionAssembly[] failureMechanismSectionAssembly = { CombinedFailureMechanismSectionAssemblyTestFactory.Create(assessmentSection, 21) }; calculator.CombinedFailureMechanismSectionAssemblyOutput = new CombinedFailureMechanismSectionAssemblyResultWrapper( failureMechanismSectionAssembly, AssemblyMethod.BOI3A1, AssemblyMethod.BOI3B1, AssemblyMethod.BOI3C1); using (var view = new AssemblyResultPerSectionMapView(assessmentSection)) { // Assert Assert.IsInstanceOf <MapDataCollection>(view.Map.Data); MapDataCollection mapData = view.Map.Data; Assert.IsNotNull(mapData); Assert.AreEqual(3, mapData.Collection.Count()); IEnumerable <CombinedFailureMechanismSectionAssemblyResult> expectedResults = AssessmentSectionAssemblyFactory.AssembleCombinedPerFailureMechanismSection(assessmentSection); AssertCombinedFailureMechanismSectionAssemblyResultMapData(expectedResults, assessmentSection.ReferenceLine, mapData.Collection.ElementAt(assemblyResultsIndex)); MapData hydraulicBoundaryLocationsMapData = mapData.Collection.ElementAt(hydraulicBoundaryLocationsIndex); MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, hydraulicBoundaryLocationsMapData); MapData referenceLineMapData = mapData.Collection.ElementAt(referenceLineIndex); AssertReferenceLineMapData(assessmentSection.ReferenceLine, referenceLineMapData); } } }
public void Constructor_WithAssessmentSectionWithoutData_ExpectedValues() { // Setup AssessmentSection assessmentSection = CreateAssessmentSection(); // Call using (var view = new AssemblyResultPerSectionMapView(assessmentSection)) { // Assert Assert.IsInstanceOf <UserControl>(view); Assert.IsInstanceOf <IMapView>(view); Assert.IsNull(view.Data); Assert.AreEqual(1, view.Controls.Count); IMapControl mapControl = GetMapControl(view); Assert.AreSame(view.Map, mapControl); Assert.AreEqual(DockStyle.Fill, ((Control)view.Map).Dock); Assert.AreSame(assessmentSection, view.AssessmentSection); MapDataCollection mapDataCollection = view.Map.Data; Assert.AreEqual("Assemblagekaart", mapDataCollection.Name); List <MapData> mapDataList = mapDataCollection.Collection.ToList(); Assert.AreEqual(3, mapDataList.Count); var assemblyResultsLineMapData = (MapLineData)mapDataList[assemblyResultsIndex]; var hydraulicBoundaryLocationsMapData = (MapPointData)mapDataList[hydraulicBoundaryLocationsIndex]; var referenceLineMapData = (MapLineData)mapDataList[referenceLineIndex]; CollectionAssert.IsEmpty(assemblyResultsLineMapData.Features); CollectionAssert.IsEmpty(hydraulicBoundaryLocationsMapData.Features); CollectionAssert.IsEmpty(referenceLineMapData.Features); Assert.AreEqual("Slechtste duidingsklasse per deelvak", assemblyResultsLineMapData.Name); Assert.AreEqual("Hydraulische belastingen", hydraulicBoundaryLocationsMapData.Name); Assert.AreEqual("Referentielijn", referenceLineMapData.Name); } }
private static IMapControl GetMapControl(AssemblyResultPerSectionMapView view) { var mapControl = (RiskeerMapControl)view.Controls[0]; return(mapControl.MapControl); }