private void ShowHeightStructuresScenariosView(HeightStructuresFailureMechanism failureMechanism) { var scenariosView = new HeightStructuresScenariosView(failureMechanism.CalculationsGroup, failureMechanism); testForm.Controls.Add(scenariosView); testForm.Show(); }
public void CloseForData_ViewNotCorrespondingToRemovedAssessmentSection_ReturnFalse() { // Setup var unrelatedFailureMechanism = new HeightStructuresFailureMechanism(); var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(new[] { unrelatedFailureMechanism }); mocks.ReplayAll(); using (var view = new HeightStructuresScenariosView(new CalculationGroup(), new HeightStructuresFailureMechanism())) { // Precondition Assert.AreNotSame(view.Data, unrelatedFailureMechanism.CalculationsGroup); // Call bool closeForData = info.CloseForData(view, assessmentSection); // Assert Assert.IsFalse(closeForData); } mocks.VerifyAll(); }
public void ScenariosView_ImportFailureMechanismSections_ChangesCorrectlyObservedAndSynced() { // Setup using (var form = new Form()) { var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); DataImportHelper.ImportReferenceLine(assessmentSection); var view = new HeightStructuresScenariosView(assessmentSection.HeightStructures.CalculationsGroup, assessmentSection.HeightStructures); form.Controls.Add(view); form.Show(); var listBox = (ListBox) new ControlTester("listBox").TheObject; // Precondition CollectionAssert.IsEmpty(listBox.Items); // Call HeightStructuresFailureMechanism failureMechanism = assessmentSection.HeightStructures; DataImportHelper.ImportFailureMechanismSections(assessmentSection, failureMechanism); assessmentSection.HeightStructures.NotifyObservers(); // Assert CollectionAssert.AreEqual(assessmentSection.HeightStructures.Sections, listBox.Items); } }
public void ScenariosView_ChangeStructureOfCalculation_ChangesCorrectlyObservedAndSynced() { // Setup var mocks = new MockRepository(); var messageProvider = mocks.Stub <IImporterMessageProvider>(); mocks.ReplayAll(); using (var form = new Form()) { var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); DataImportHelper.ImportReferenceLine(assessmentSection); HeightStructuresFailureMechanism failureMechanism = assessmentSection.HeightStructures; DataImportHelper.ImportFailureMechanismSections(assessmentSection, failureMechanism); var view = new HeightStructuresScenariosView(assessmentSection.HeightStructures.CalculationsGroup, assessmentSection.HeightStructures); form.Controls.Add(view); form.Show(); var structuresImporter = new HeightStructuresImporter(assessmentSection.HeightStructures.HeightStructures, assessmentSection.ReferenceLine, filePath, messageProvider, new HeightStructureReplaceDataStrategy(failureMechanism)); structuresImporter.Import(); foreach (HeightStructure structure in assessmentSection.HeightStructures.HeightStructures) { assessmentSection.HeightStructures.CalculationsGroup.Children.Add(new StructuresCalculationScenario <HeightStructuresInput> { Name = NamingHelper.GetUniqueName(assessmentSection.HeightStructures.CalculationsGroup.Children, structure.Name + " Calculation", c => c.Name), InputParameters = { Structure = structure } }); } var listBox = (ListBox) new ControlTester("listBox").TheObject; var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; listBox.SelectedItem = failureMechanism.Sections.ElementAt(13); // Precondition DataGridViewRowCollection rows = dataGridView.Rows; Assert.AreEqual(1, rows.Count); Assert.AreEqual("Eerste kunstwerk 6-3 Calculation", rows[0].Cells[nameColumnIndex].FormattedValue); // Call CalculationGroup calculationsGroup = assessmentSection.HeightStructures.CalculationsGroup; ((StructuresCalculation <HeightStructuresInput>)calculationsGroup.Children[1]).InputParameters.Structure = ((StructuresCalculation <HeightStructuresInput>)calculationsGroup.Children[0]).InputParameters.Structure; calculationsGroup.NotifyObservers(); // Assert Assert.AreEqual(2, rows.Count); Assert.AreEqual("Eerste kunstwerk 6-3 Calculation", rows[0].Cells[nameColumnIndex].FormattedValue); Assert.AreEqual("Tweede kunstwerk 6-3 Calculation", rows[1].Cells[nameColumnIndex].FormattedValue); } mocks.VerifyAll(); }
public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanism_ReturnFalse() { using (var view = new HeightStructuresScenariosView(new CalculationGroup(), new HeightStructuresFailureMechanism())) { // Call bool closeForData = info.CloseForData(view, new HeightStructuresFailureMechanism()); // Assert Assert.IsFalse(closeForData); } }
public void Constructor_ExpectedValues() { // Setup var calculationGroup = new CalculationGroup(); // Call using (var view = new HeightStructuresScenariosView(calculationGroup, new HeightStructuresFailureMechanism())) { // Assert Assert.IsInstanceOf <ScenariosView <StructuresCalculationScenario <HeightStructuresInput>, HeightStructuresInput, HeightStructuresScenarioRow, HeightStructuresFailureMechanism> >(view); Assert.AreSame(calculationGroup, view.Data); } }
public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnTrue() { // Setup var correspondingFailureMechanism = new HeightStructuresFailureMechanism(); using (var view = new HeightStructuresScenariosView(correspondingFailureMechanism.CalculationsGroup, correspondingFailureMechanism)) { // Call bool closeForData = info.CloseForData(view, correspondingFailureMechanism); // Assert Assert.IsTrue(closeForData); } }
private static bool CloseScenariosViewForData(HeightStructuresScenariosView view, object dataToCloseFor) { var failureMechanism = dataToCloseFor as HeightStructuresFailureMechanism; if (dataToCloseFor is IAssessmentSection assessmentSection) { failureMechanism = assessmentSection.GetFailureMechanisms() .OfType <HeightStructuresFailureMechanism>() .FirstOrDefault(); } if (dataToCloseFor is FailureMechanismContext <HeightStructuresFailureMechanism> failureMechanismContext) { failureMechanism = failureMechanismContext.WrappedData; } return(failureMechanism != null && ReferenceEquals(view.Data, failureMechanism.CalculationsGroup)); }
public void CloseForData_AssessmentSectionRemovedWithoutHeightStructuresFailureMechanism_ReturnFalse() { // Setup var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(new IFailureMechanism[0]); mocks.ReplayAll(); using (var view = new HeightStructuresScenariosView(new CalculationGroup(), new HeightStructuresFailureMechanism())) { // Call bool closeForData = info.CloseForData(view, assessmentSection); // Assert Assert.IsFalse(closeForData); } mocks.VerifyAll(); }
public void CloseForData_ViewCorrespondingToRemovedFailureMechanismContext_ReturnTrue() { // Setup var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); mocks.ReplayAll(); var failureMechanism = new HeightStructuresFailureMechanism(); var context = new HeightStructuresFailureMechanismContext(failureMechanism, assessmentSection); using (var view = new HeightStructuresScenariosView(failureMechanism.CalculationsGroup, failureMechanism)) { // Call bool closeForData = info.CloseForData(view, context); // Assert Assert.IsTrue(closeForData); } mocks.VerifyAll(); }
public void ScenariosView_GenerateCalculations_ChangesCorrectlyObservedAndSynced() { // Setup var mocks = new MockRepository(); var messageProvider = mocks.Stub <IImporterMessageProvider>(); mocks.ReplayAll(); using (var form = new Form()) { var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); DataImportHelper.ImportReferenceLine(assessmentSection); HeightStructuresFailureMechanism failureMechanism = assessmentSection.HeightStructures; DataImportHelper.ImportFailureMechanismSections(assessmentSection, failureMechanism); CalculationGroup calculationsGroup = assessmentSection.HeightStructures.CalculationsGroup; var view = new HeightStructuresScenariosView(calculationsGroup, assessmentSection.HeightStructures); form.Controls.Add(view); form.Show(); var structuresImporter = new HeightStructuresImporter(assessmentSection.HeightStructures.HeightStructures, assessmentSection.ReferenceLine, filePath, messageProvider, new HeightStructureReplaceDataStrategy(failureMechanism)); structuresImporter.Import(); var listBox = (ListBox) new ControlTester("listBox").TheObject; var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; listBox.SelectedItem = failureMechanism.Sections.ElementAt(13); // Precondition DataGridViewRowCollection rows = dataGridView.Rows; CollectionAssert.IsEmpty(rows); // Call foreach (HeightStructure structure in assessmentSection.HeightStructures.HeightStructures) { calculationsGroup.Children.Add(new StructuresCalculationScenario <HeightStructuresInput> { Name = NamingHelper.GetUniqueName(((CalculationGroup)view.Data).Children, structure.Name, c => c.Name), InputParameters = { Structure = structure } }); } calculationsGroup.NotifyObservers(); // Assert Assert.AreEqual(1, rows.Count); DataGridViewCellCollection cells = rows[0].Cells; Assert.AreEqual(4, cells.Count); Assert.IsTrue(Convert.ToBoolean(cells[isRelevantColumnIndex].FormattedValue)); Assert.AreEqual(new RoundedDouble(2, 100).ToString(), cells[contributionColumnIndex].FormattedValue); Assert.AreEqual("Eerste kunstwerk 6-3", cells[nameColumnIndex].FormattedValue); Assert.AreEqual("-", cells[failureProbabilityColumnIndex].FormattedValue); } mocks.VerifyAll(); }