public void GivenAssessmentSectionObserversNotified_WhenRefreshingAssemblyResults_ThenDataGridViewDataSourceUpdated() { // Given using (new AssemblyToolCalculatorFactoryConfig()) using (AssemblyResultTotalView view = ShowAssemblyResultTotalView()) { ButtonTester buttonTester = GetRefreshAssemblyResultButtonTester(); buttonTester.Properties.Enabled = true; DataGridView dataGridView = GetDataGridView(); object dataSource = dataGridView.DataSource; // Precondition DataGridViewRowCollection rows = dataGridView.Rows; Assert.AreEqual(view.AssessmentSection.GetFailureMechanisms().Count(), rows.Count); AssertAssemblyCells(view.AssessmentSection.Piping, 0.1, rows[0].Cells); // When view.AssessmentSection.Piping = new TestPipingFailureMechanism { InAssembly = false }; view.AssessmentSection.NotifyObservers(); buttonTester.Click(); // Then Assert.AreNotSame(dataSource, dataGridView.DataSource); Assert.AreEqual(view.AssessmentSection.GetFailureMechanisms().Count(), rows.Count); AssertAssemblyCells(view.AssessmentSection.Piping, double.NaN, rows[0].Cells); } }
public void GivenFormWithAssemblyResultTotalView_WhenSpecificFailureMechanismRemovedAndRefreshingAssemblyResults_ThenDataGridViewDataSourceAndRowsUpdated() { // Given AssessmentSection assessmentSection = CreateAssessmentSection(); using (new AssemblyToolCalculatorFactoryConfig()) using (AssemblyResultTotalView view = ShowAssemblyResultTotalView(assessmentSection)) { var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance; FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; DataGridView dataGridView = GetDataGridView(); object dataSource = dataGridView.DataSource; // Precondition DataGridViewRowCollection rows = dataGridView.Rows; AssertFailureMechanismRows(view.AssessmentSection, calculator.AssemblyResultOutput.AssemblyResult, rows); // When ObservableList <SpecificFailureMechanism> specificFailureMechanisms = assessmentSection.SpecificFailureMechanisms; SpecificFailureMechanism failureMechanismToRemove = specificFailureMechanisms.Last(); specificFailureMechanisms.Remove(failureMechanismToRemove); specificFailureMechanisms.NotifyObservers(); ButtonTester buttonTester = GetRefreshAssemblyResultButtonTester(); buttonTester.Click(); // Then Assert.AreNotSame(dataSource, dataGridView.DataSource); AssertFailureMechanismRows(view.AssessmentSection, calculator.AssemblyResultOutput.AssemblyResult, rows); } }
public void GivenFormWithAssemblyResultTotalView_WhenCalculationNotifiesObservers_ThenRefreshButtonEnabledAndWarningSet() { // Given AssessmentSection assessmentSection = CreateAssessmentSection(); var calculation = new TestHeightStructuresCalculationScenario(); assessmentSection.HeightStructures.CalculationsGroup.Children.Add(calculation); using (AssemblyResultTotalView view = ShowAssemblyResultTotalView(assessmentSection)) { // Precondition ButtonTester buttonTester = GetRefreshAssemblyResultButtonTester(); Button button = buttonTester.Properties; Assert.IsFalse(button.Enabled); ErrorProvider warningProvider = GetWarningProvider(view); Assert.IsEmpty(warningProvider.GetError(button)); // When calculation.NotifyObservers(); // Then Assert.IsTrue(buttonTester.Properties.Enabled); Assert.AreEqual(assemblyResultOutdatedWarning, warningProvider.GetError(button)); } }
public void GivenFormWithAssemblyResultTotalView_WhenSpecificFailureMechanismNotifiesObservers_ThenRefreshButtonEnabledAndWarningSet() { // Given var failureMechanism = new SpecificFailureMechanism(); AssessmentSection assessmentSection = CreateAssessmentSection(); assessmentSection.SpecificFailureMechanisms.Add(failureMechanism); using (AssemblyResultTotalView view = ShowAssemblyResultTotalView(assessmentSection)) { // Precondition ButtonTester buttonTester = GetRefreshAssemblyResultButtonTester(); Button button = buttonTester.Properties; Assert.IsFalse(button.Enabled); ErrorProvider warningProvider = GetWarningProvider(view); Assert.IsEmpty(warningProvider.GetError(button)); // When failureMechanism.NotifyObservers(); // Then Assert.IsTrue(buttonTester.Properties.Enabled); Assert.AreEqual(assemblyResultOutdatedWarning, warningProvider.GetError(button)); } }
private AssemblyResultTotalView ShowAssemblyResultTotalView(AssessmentSection assessmentSection) { var view = new AssemblyResultTotalView(assessmentSection); testForm.Controls.Add(view); testForm.Show(); return(view); }
public void CloseForData_ViewCorrespondingToRemovedAssessmentSection_ReturnsTrue() { // Setup var random = new Random(21); var assessmentSection = new AssessmentSection(random.NextEnumValue <AssessmentSectionComposition>()); using (var view = new AssemblyResultTotalView(assessmentSection)) { // Call bool closeForData = info.CloseForData(view, assessmentSection); // Assert Assert.IsTrue(closeForData); } }
public void GivenFormWithAssemblyResultTotalView_ThenExpectedCellsVisible() { // Given using (new AssemblyToolCalculatorFactoryConfig()) { var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance; FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; using (AssemblyResultTotalView view = ShowAssemblyResultTotalView()) { // Then DataGridView dataGridView = GetDataGridView(); AssertFailureMechanismRows(view.AssessmentSection, calculator.AssemblyResultOutput.AssemblyResult, dataGridView.Rows); } } }
public void Constructor_WithAssessmentSection_ExpectedValues() { // Setup var random = new Random(21); var assessmentSection = new AssessmentSection(random.NextEnumValue <AssessmentSectionComposition>()); // Call using (var view = new AssemblyResultTotalView(assessmentSection)) { testForm.Controls.Add(view); testForm.Show(); // Assert Assert.AreEqual(4, view.Controls.Count); Button button = GetRefreshAssemblyResultButtonTester().Properties; Assert.AreEqual("Resultaten verversen", button.Text); Assert.IsFalse(button.Enabled); var assemblyResultControl = (AssessmentSectionAssemblyResultControl) new ControlTester("assessmentSectionAssemblyControl").TheObject; Assert.AreEqual(DockStyle.Top, assemblyResultControl.Dock); var label = (Label) new ControlTester("label").TheObject; Assert.AreEqual("Samenvatting resultaten per faalmechanisme:", label.Text); var dataGridViewControl = (DataGridViewControl) new ControlTester("dataGridViewControl").TheObject; Assert.AreEqual(DockStyle.Fill, dataGridViewControl.Dock); ErrorProvider warningProvider = GetWarningProvider(view); TestHelper.AssertImagesAreEqual(CoreGuiResources.warning.ToBitmap(), warningProvider.Icon.ToBitmap()); Assert.AreEqual(ErrorBlinkStyle.NeverBlink, warningProvider.BlinkStyle); Assert.IsEmpty(warningProvider.GetError(button)); Assert.AreEqual(4, warningProvider.GetIconPadding(button)); Assert.IsInstanceOf <IView>(view); Assert.IsInstanceOf <UserControl>(view); Assert.IsNull(view.Data); Assert.AreEqual(new Size(350, 250), view.AutoScrollMinSize); Assert.AreSame(assessmentSection, view.AssessmentSection); } }
public void GivenFormWithAssemblyResultTotalView_WhenFailureMechanismNotifiesObservers_ThenRefreshButtonEnabledAndWarningSet() { // Given var random = new Random(21); AssessmentSection assessmentSection = CreateAssessmentSection(); using (AssemblyResultTotalView view = ShowAssemblyResultTotalView(assessmentSection)) { // Precondition ButtonTester buttonTester = GetRefreshAssemblyResultButtonTester(); Button button = buttonTester.Properties; Assert.IsFalse(button.Enabled); ErrorProvider warningProvider = GetWarningProvider(view); Assert.IsEmpty(warningProvider.GetError(button)); // When IEnumerable <IFailureMechanism> failureMechanisms = assessmentSection.GetFailureMechanisms(); failureMechanisms.ElementAt(random.Next(failureMechanisms.Count())).NotifyObservers(); // Then Assert.IsTrue(buttonTester.Properties.Enabled); Assert.AreEqual(assemblyResultOutdatedWarning, warningProvider.GetError(button)); } }
public void GivenFormWithAssemblyResultTotalViewWithOutdatedContent_WhenRefreshingAssemblyResults_ThenRefreshButtonDisabledAndWarningCleared() { // Given AssessmentSection assessmentSection = CreateAssessmentSection(); using (AssemblyResultTotalView view = ShowAssemblyResultTotalView(assessmentSection)) { assessmentSection.NotifyObservers(); // Precondition ButtonTester buttonTester = GetRefreshAssemblyResultButtonTester(); Button button = buttonTester.Properties; Assert.IsTrue(button.Enabled); ErrorProvider warningProvider = GetWarningProvider(view); Assert.AreEqual(assemblyResultOutdatedWarning, warningProvider.GetError(button)); // When buttonTester.Click(); // Then Assert.IsFalse(button.Enabled); Assert.IsEmpty(warningProvider.GetError(button)); } }
private static ErrorProvider GetWarningProvider(AssemblyResultTotalView resultControl) { return(TypeUtils.GetField <ErrorProvider>(resultControl, "warningProvider")); }