public void GivenStructuresFailureMechanismResultView_WhenNestedCalculationInputNotifiesObservers_ThenDataGridViewUpdatedAndAssemblyPerformed() { // Given var failureMechanism = new TestStructuresFailureMechanism(); FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection("Section 1"); FailureMechanismTestHelper.SetSections(failureMechanism, new[] { section }); var calculationScenario = new TestStructuresCalculationScenario { InputParameters = { Structure = new TestStructure(section.StartPoint) } }; var calculationGroup = new CalculationGroup(); calculationGroup.Children.Add(calculationScenario); failureMechanism.CalculationsGroup.Children.Add(calculationGroup); int nrOfCalls = 0; Func <TestStructuresFailureMechanism, IAssessmentSection, FailureMechanismAssemblyResultWrapper> performFailureMechanismAssemblyFunc = (fm, ass) => { nrOfCalls++; return(new FailureMechanismAssemblyResultWrapper(double.NaN, AssemblyMethod.BOI1A1)); }; using (new AssemblyToolCalculatorFactoryConfig()) using (ShowFailureMechanismResultsView(failureMechanism, performFailureMechanismAssemblyFunc)) { var rowsChanged = false; DataGridView dataGridView = GetDataGridView(); dataGridView.Rows.CollectionChanged += (sender, args) => rowsChanged = true; // Precondition Assert.AreEqual(1, nrOfCalls); Assert.IsFalse(rowsChanged); // When calculationScenario.InputParameters.NotifyObservers(); // Then Assert.AreEqual(2, nrOfCalls); Assert.IsTrue(rowsChanged); } }
private StructuresFailureMechanismResultView <TestStructuresFailureMechanism, TestStructuresInput> ShowFailureMechanismResultsView( TestStructuresFailureMechanism failureMechanism, IAssessmentSection assessmentSection, Func <TestStructuresFailureMechanism, IAssessmentSection, FailureMechanismAssemblyResultWrapper> performFailureMechanismAssemblyFunc) { var failureMechanismResultView = new StructuresFailureMechanismResultView <TestStructuresFailureMechanism, TestStructuresInput>( failureMechanism.SectionResults, failureMechanism, assessmentSection, performFailureMechanismAssemblyFunc); testForm.Controls.Add(failureMechanismResultView); testForm.Show(); return(failureMechanismResultView); }
public void FailureMechanismResultsView_AllDataSet_DataGridViewCorrectlyInitialized() { // Setup FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection("Section 1"); var failureMechanism = new TestStructuresFailureMechanism(); FailureMechanismTestHelper.SetSections(failureMechanism, new[] { section }); failureMechanism.CalculationsGroup.Children.Add(new TestStructuresCalculationScenario { InputParameters = { Structure = new TestStructure(section.StartPoint) } }); // Call using (new AssemblyToolCalculatorFactoryConfig()) using (ShowFailureMechanismResultsView(failureMechanism)) { DataGridView dataGridView = GetDataGridView(); // Assert DataGridViewRowCollection rows = dataGridView.Rows; Assert.AreEqual(1, rows.Count); double probability = failureMechanism.SectionResults.First().GetInitialFailureMechanismResultProbability( failureMechanism.Calculations.OfType <TestStructuresCalculationScenario>()); DataGridViewCellCollection cells = rows[0].Cells; Assert.AreEqual(columnCount, cells.Count); Assert.AreEqual("Section 1", cells[nameColumnIndex].FormattedValue); Assert.AreEqual(true, cells[isRelevantIndex].Value); Assert.AreEqual(AdoptableInitialFailureMechanismResultType.Adopt, cells[initialFailureMechanismResultTypeIndex].Value); Assert.AreEqual(probability, cells[initialFailureMechanismResultSectionProbabilityIndex].Value); Assert.AreEqual(FailureMechanismSectionResultFurtherAnalysisType.NotNecessary, cells[furtherAnalysisTypeIndex].Value); Assert.AreEqual("-", cells[refinedSectionProbabilityIndex].FormattedValue); Assert.AreEqual("1/10", cells[sectionProbabilityIndex].FormattedValue); Assert.AreEqual("+I", cells[assemblyGroupIndex].FormattedValue); } }
public void Constructor_ExpectedValues() { // Setup var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); mocks.ReplayAll(); var failureMechanism = new TestStructuresFailureMechanism(); // Call using (var view = new StructuresFailureMechanismResultView <TestStructuresFailureMechanism, TestStructuresInput>( failureMechanism.SectionResults, failureMechanism, assessmentSection, (fm, section) => new FailureMechanismAssemblyResultWrapper(double.NaN, AssemblyMethod.BOI1A1))) { // Assert Assert.IsInstanceOf <FailureMechanismResultView <AdoptableFailureMechanismSectionResult, AdoptableFailureMechanismSectionResultRow, TestStructuresFailureMechanism> >(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); } mocks.VerifyAll(); }
private StructuresFailureMechanismResultView <TestStructuresFailureMechanism, TestStructuresInput> ShowFailureMechanismResultsView( TestStructuresFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { return(ShowFailureMechanismResultsView(failureMechanism, assessmentSection, (fm, section) => new FailureMechanismAssemblyResultWrapper(1.2345, AssemblyMethod.Manual))); }
private StructuresFailureMechanismResultView <TestStructuresFailureMechanism, TestStructuresInput> ShowFailureMechanismResultsView( TestStructuresFailureMechanism failureMechanism, Func <TestStructuresFailureMechanism, IAssessmentSection, FailureMechanismAssemblyResultWrapper> performFailureMechanismAssemblyFunc) { return(ShowFailureMechanismResultsView(failureMechanism, new AssessmentSectionStub(), performFailureMechanismAssemblyFunc)); }
private StructuresFailureMechanismResultView <TestStructuresFailureMechanism, TestStructuresInput> ShowFailureMechanismResultsView( TestStructuresFailureMechanism failureMechanism) { return(ShowFailureMechanismResultsView(failureMechanism, new AssessmentSectionStub())); }