public void GivenViewWithFailureMechanismContribution_WhenFailureMechanismContributionUpdated_ThenDataTableUpdated()
        {
            // Given
            var random = new Random(21);

            var mocks    = new MockRepository();
            var observer = mocks.StrictMock <IObserver>();

            observer.Expect(o => o.UpdateObserver());
            mocks.ReplayAll();

            FailureMechanismContribution failureMechanismContribution = FailureMechanismContributionTestFactory.CreateFailureMechanismContribution();

            failureMechanismContribution.Attach(observer);

            using (new AssemblyToolCalculatorFactoryConfig())
                using (var view = new AssessmentSectionAssemblyGroupsView(failureMechanismContribution))
                {
                    var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance;
                    AssessmentSectionAssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyGroupBoundariesCalculator;

                    AssemblyGroupsTable <AssessmentSectionAssemblyGroup> groupsTable = GetCategoriesTable(view);

                    // Precondition
                    Assert.AreEqual(calculator.AssessmentSectionAssemblyGroupBoundariesOutput.Count(), groupsTable.Rows.Count);

                    // When
                    var newOutput = new[]
                    {
                        new AssessmentSectionAssemblyGroupBoundaries(random.NextDouble(),
                                                                     random.NextDouble(),
                                                                     random.NextEnumValue <AssessmentSectionAssemblyGroup>())
                    };
                    calculator.AssessmentSectionAssemblyGroupBoundariesOutput = newOutput;
                    failureMechanismContribution.NotifyObservers();

                    // Then
                    Assert.AreEqual(newOutput.Length, groupsTable.Rows.Count);
                }

            mocks.VerifyAll();
        }
Beispiel #2
0
        public void CloseForData_ViewCorrespondingToRemovedAssessmentSection_ReturnsTrue()
        {
            // Setup
            var mocks = new MockRepository();
            IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(null, mocks);

            mocks.ReplayAll();

            using (new AssemblyToolCalculatorFactoryConfig())
                using (var view = new AssessmentSectionAssemblyGroupsView(assessmentSection.FailureMechanismContribution))
                {
                    // Call
                    bool closeForData = info.CloseForData(view, assessmentSection);

                    // Assert
                    Assert.IsTrue(closeForData);
                }

            mocks.VerifyAll();
        }
        public void Constructor_WithFailureMechanismContribution_CreatesViewAndTableWithData()
        {
            // Setup
            FailureMechanismContribution failureMechanismContribution = FailureMechanismContributionTestFactory.CreateFailureMechanismContribution();

            // Call
            using (new AssemblyToolCalculatorFactoryConfig())
                using (var view = new AssessmentSectionAssemblyGroupsView(failureMechanismContribution))
                {
                    // Assert
                    Assert.IsInstanceOf <UserControl>(view);
                    Assert.IsInstanceOf <IView>(view);
                    Assert.IsNull(view.Data);
                    Assert.AreEqual(1, view.Controls.Count);
                    Assert.AreSame(failureMechanismContribution, view.FailureMechanismContribution);

                    AssemblyGroupsTable <AssessmentSectionAssemblyGroup> tableControl = GetCategoriesTable(view);
                    Assert.AreEqual(DockStyle.Fill, tableControl.Dock);

                    var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance;
                    AssessmentSectionAssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyGroupBoundariesCalculator;
                    Assert.AreEqual(calculator.AssessmentSectionAssemblyGroupBoundariesOutput.Count(), tableControl.Rows.Count);
                }
        }
 private static AssemblyGroupsTable <AssessmentSectionAssemblyGroup> GetCategoriesTable(AssessmentSectionAssemblyGroupsView view)
 {
     return(ControlTestHelper.GetControls <AssemblyGroupsTable <AssessmentSectionAssemblyGroup> >(
                view, "assemblyGroupsTable").Single());
 }