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); } } }
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); } } } }
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); } } }
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(); }
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); } }