public void GivenViewWithInValidData_WhenCalculationWithValidData_ThenSetsDataTable()
        {
            // Given
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            using (new AssemblyToolCalculatorFactoryConfig())
            {
                var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance;
                FailureMechanismSectionAssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyGroupBoundariesCalculator;
                calculator.ThrowExceptionOnCalculate = true;

                using (var view = new FailureMechanismSectionAssemblyGroupsView(assessmentSection))
                {
                    AssemblyGroupsTable <FailureMechanismSectionAssemblyGroup> failureMechanismSectionGroupsTable = GetAssemblyGroupsTable(view);

                    // Precondition
                    Assert.IsEmpty(failureMechanismSectionGroupsTable.Rows);

                    // When
                    calculator.ThrowExceptionOnCalculate = false;
                    assessmentSection.FailureMechanismContribution.NotifyObservers();

                    // Then
                    Assert.IsNotEmpty(failureMechanismSectionGroupsTable.Rows);
                }
            }
        }
Esempio n. 2
0
        public void Constructor_InitializesWithColumns()
        {
            // Call
            using (var table = new AssemblyGroupsTable <TestEnum>())
            {
                // Assert
                Assert.IsInstanceOf <DataGridViewControl>(table);

                DataGridViewColumn groupColumn = table.GetColumnFromIndex(groupColumnIndex);
                Assert.AreEqual("Naam", groupColumn.HeaderText);
                Assert.IsTrue(groupColumn.ReadOnly);
                Assert.IsInstanceOf <DataGridViewTextBoxColumn>(groupColumn);

                DataGridViewColumn colorColumn = table.GetColumnFromIndex(colorColumnIndex);
                Assert.AreEqual("Kleur", colorColumn.HeaderText);
                Assert.IsTrue(colorColumn.ReadOnly);
                Assert.IsInstanceOf <DataGridViewColorColumn>(colorColumn);

                DataGridViewColumn lowerBoundaryColumn = table.GetColumnFromIndex(lowerBoundaryColumnIndex);
                Assert.AreEqual("Ondergrens [1/jaar]", lowerBoundaryColumn.HeaderText);
                Assert.IsTrue(lowerBoundaryColumn.ReadOnly);
                Assert.IsInstanceOf <DataGridViewTextBoxColumn>(lowerBoundaryColumn);

                DataGridViewColumn upperBoundaryColumn = table.GetColumnFromIndex(upperBoundaryColumnIndex);
                Assert.AreEqual("Bovengrens [1/jaar]", upperBoundaryColumn.HeaderText);
                Assert.IsTrue(upperBoundaryColumn.ReadOnly);
                Assert.IsInstanceOf <DataGridViewTextBoxColumn>(upperBoundaryColumn);

                Assert.Throws <ArgumentOutOfRangeException>(() => table.GetColumnFromIndex(upperBoundaryColumnIndex + 1));

                CollectionAssert.IsEmpty(table.Rows);
            }
        }
        public void Constructor_WithValidParameters_FillsTableWithData()
        {
            // Setup
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            using (new AssemblyToolCalculatorFactoryConfig())
            {
                // Call
                using (var view = new FailureMechanismSectionAssemblyGroupsView(assessmentSection))
                {
                    AssemblyGroupsTable <FailureMechanismSectionAssemblyGroup> assemblyGroupsTable = GetAssemblyGroupsTable(view);

                    // Assert
                    IEnumerable <FailureMechanismSectionAssemblyGroupBoundaries> expectedAssemblyGroupBoundaries =
                        FailureMechanismSectionAssemblyGroupsHelper.GetFailureMechanismSectionAssemblyGroupBoundaries(assessmentSection);
                    Assert.AreEqual(expectedAssemblyGroupBoundaries.Count(), assemblyGroupsTable.Rows.Count);

                    for (int i = 0; i < expectedAssemblyGroupBoundaries.Count(); i++)
                    {
                        FailureMechanismSectionAssemblyGroupBoundaries expectedBoundary = expectedAssemblyGroupBoundaries.ElementAt(i);
                        var actualBoundary = (AssemblyGroupRow <FailureMechanismSectionAssemblyGroup>)assemblyGroupsTable.Rows[i].DataBoundItem;

                        Assert.AreEqual(expectedBoundary.FailureMechanismSectionAssemblyGroup, actualBoundary.Group);
                        Assert.AreEqual(expectedBoundary.LowerBoundary, actualBoundary.LowerBoundary);
                        Assert.AreEqual(expectedBoundary.UpperBoundary, actualBoundary.UpperBoundary);
                    }
                }
            }
        }
Esempio n. 4
0
        public void SetData_WithData_ExpectedValuesInTable()
        {
            // Setup
            using (var table = new AssemblyGroupsTable <TestEnum>())
            {
                Tuple <AssemblyGroupBoundaries, Color, TestEnum>[] groups =
                {
                    CreateAssessmentSectionAssemblyGroup(),
                    CreateAssessmentSectionAssemblyGroup(),
                    CreateAssessmentSectionAssemblyGroup()
                };

                // Call
                table.SetData(groups);

                // Assert
                Assert.AreEqual(groups.Length, table.Rows.Count);
                for (var i = 0; i < table.Rows.Count; i++)
                {
                    Tuple <AssemblyGroupBoundaries, Color, TestEnum> group = groups[i];
                    DataGridViewCellCollection rowCells = table.Rows[i].Cells;

                    Assert.AreEqual(group.Item3, rowCells[groupColumnIndex].Value);
                    Assert.AreEqual(group.Item2, rowCells[colorColumnIndex].Value);
                    Assert.AreEqual(group.Item1.LowerBoundary, rowCells[lowerBoundaryColumnIndex].Value);
                    Assert.AreEqual(group.Item1.UpperBoundary, rowCells[upperBoundaryColumnIndex].Value);
                }
            }
        }
Esempio n. 5
0
        public void SetData_NoDataAlreadySet_SetNewData()
        {
            // Setup
            using (var table = new AssemblyGroupsTable <TestEnum>())
            {
                Tuple <AssemblyGroupBoundaries, Color, TestEnum>[] groups =
                {
                    CreateAssessmentSectionAssemblyGroup(),
                    CreateAssessmentSectionAssemblyGroup(),
                    CreateAssessmentSectionAssemblyGroup()
                };

                // Call
                table.SetData(groups);

                // Assert
                Assert.AreEqual(groups.Length, table.Rows.Count);
            }
        }
        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();
        }
Esempio n. 7
0
        public void SetData_SetNullDataAfterDataAlreadySet_ClearsData()
        {
            // Setup
            using (var table = new AssemblyGroupsTable <TestEnum>())
            {
                Tuple <AssemblyGroupBoundaries, Color, TestEnum>[] groups =
                {
                    CreateAssessmentSectionAssemblyGroup(),
                    CreateAssessmentSectionAssemblyGroup(),
                    CreateAssessmentSectionAssemblyGroup()
                };
                table.SetData(groups);

                // Call
                table.SetData(null);

                // Assert
                Assert.AreEqual(0, table.Rows.Count);
            }
        }
        public void GivenViewWithValidData_WhenFailureMechanismContributionUpdated_ThenDataTableUpdated()
        {
            // Given
            var random            = new Random();
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            using (new AssemblyToolCalculatorFactoryConfig())
            {
                var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance;
                FailureMechanismSectionAssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyGroupBoundariesCalculator;
                var output = new List <FailureMechanismSectionAssemblyGroupBoundaries>
                {
                    CreateFailureMechanismSectionAssemblyGroupBoundaries(random)
                };

                calculator.FailureMechanismSectionAssemblyGroupBoundariesOutput = output;

                using (var view = new FailureMechanismSectionAssemblyGroupsView(assessmentSection))
                {
                    AssemblyGroupsTable <FailureMechanismSectionAssemblyGroup> failureMechanismSectionGroupsTable = GetAssemblyGroupsTable(view);

                    // Precondition
                    int expectedNrOfDefaultGroupBoundaries = FailureMechanismSectionAssemblyGroupsHelper.GetFailureMechanismSectionAssemblyGroupBoundaries(assessmentSection).Count();
                    Assert.AreEqual(expectedNrOfDefaultGroupBoundaries, failureMechanismSectionGroupsTable.Rows.Count);

                    int newNrOfGroupBoundaries = random.Next(1, 10);
                    for (var i = 1; i <= newNrOfGroupBoundaries; i++)
                    {
                        output.Add(CreateFailureMechanismSectionAssemblyGroupBoundaries(random));
                    }

                    // When
                    assessmentSection.FailureMechanismContribution.NotifyObservers();

                    // Then
                    Assert.AreEqual(expectedNrOfDefaultGroupBoundaries + newNrOfGroupBoundaries, failureMechanismSectionGroupsTable.Rows.Count);
                }
            }
        }
        public void Constructor_ExpectedValues()
        {
            // Setup
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            // Call
            using (var view = new FailureMechanismSectionAssemblyGroupsView(assessmentSection))
            {
                // Assert
                Assert.IsInstanceOf <UserControl>(view);
                Assert.IsInstanceOf <IView>(view);
                Assert.IsNull(view.Data);
                Assert.AreSame(assessmentSection, view.AssessmentSection);

                Assert.AreEqual(1, view.Controls.Count);

                Panel groupBoxPanel = ControlTestHelper.GetControls <Panel>(view, "groupBoxPanel").Single();
                Assert.AreEqual(1, groupBoxPanel.Controls.Count);
                Assert.AreEqual(DockStyle.Fill, groupBoxPanel.Dock);

                AssemblyGroupsTable <FailureMechanismSectionAssemblyGroup> assemblyGroupsTable = GetAssemblyGroupsTable(view);
                Assert.AreEqual(DockStyle.Fill, assemblyGroupsTable.Dock);
            }
        }
        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);
                }
        }