/// <summary>
 /// Asserts the state of the <paramref name="columnStateDefinition"/> with an expected
 /// background color.
 /// </summary>
 /// <param name="columnStateDefinition">The <see cref="DataGridViewColumnStateDefinition"/>
 /// to assert.</param>
 /// <param name="expectedBackgroundColor">The expected background color of the column style.</param>
 /// <exception cref="AssertionException">Thrown when the state of <paramref name="columnStateDefinition"/>
 /// is not the same as the expected state.</exception>
 public static void AssertColumnWithColorState(DataGridViewColumnStateDefinition columnStateDefinition,
                                               Color expectedBackgroundColor)
 {
     Assert.IsTrue(columnStateDefinition.ReadOnly);
     Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), columnStateDefinition.Style.TextColor);
     Assert.AreEqual(expectedBackgroundColor, columnStateDefinition.Style.BackgroundColor);
 }
Exemple #2
0
        public void GivenFormWithAssemblyResultPerSectionView_WhenRefreshingAssemblyResults_ThenCategoryColumnSetToColumnStateDefinition(
            bool readOnly, string errorText, CellStyle style)
        {
            // Given
            using (new AssemblyToolCalculatorFactoryConfig())
                using (ShowAssemblyResultPerSectionView())
                {
                    ButtonTester buttonTester = GetRefreshAssemblyResultButtonTester();
                    buttonTester.Properties.Enabled = true;

                    DataGridView dataGridView = GetDataGridView();
                    dataGridView.CellFormatting += (sender, args) =>
                    {
                        var row = (IHasColumnStateDefinitions)dataGridView.Rows[0].DataBoundItem;
                        DataGridViewColumnStateDefinition definition = row.ColumnStateDefinitions[worstAssemblyResultPerSectionColumnIndex];
                        definition.ReadOnly  = readOnly;
                        definition.ErrorText = errorText;
                        definition.Style     = style;
                    };

                    // When
                    buttonTester.Click();

                    // Then
                    DataGridViewCell cell = dataGridView.Rows[0].Cells[worstAssemblyResultPerSectionColumnIndex];
                    Assert.AreEqual(readOnly, cell.ReadOnly);
                    Assert.AreEqual(errorText, cell.ErrorText);
                    Assert.AreEqual(style.BackgroundColor, cell.Style.BackColor);
                    Assert.AreEqual(style.TextColor, cell.Style.ForeColor);
                }
        }
Exemple #3
0
        public void CreateReadOnlyColumnStateDefinition_Always_ReturnColumnStateDefinition()
        {
            // Call
            DataGridViewColumnStateDefinition columnStateDefinition = DataGridViewColumnStateDefinitionFactory.CreateReadOnlyColumnStateDefinition();

            // Assert
            Assert.IsTrue(columnStateDefinition.ReadOnly);
        }
Exemple #4
0
        public void Constructor_ExpectedValues()
        {
            // Call
            var columnStateDefinition = new DataGridViewColumnStateDefinition();

            // Assert
            Assert.IsFalse(columnStateDefinition.ReadOnly);
            Assert.AreEqual(string.Empty, columnStateDefinition.ErrorText);
            Assert.AreEqual(CellStyle.Enabled, columnStateDefinition.Style);
        }
        /// <summary>
        /// Helper method that disables the <paramref name="columnStateDefinition"/>.
        /// </summary>
        /// <param name="columnStateDefinition">The column state definition to enable.</param>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="columnStateDefinition"/>
        /// is <c>null</c>.</exception>
        public static void DisableColumn(DataGridViewColumnStateDefinition columnStateDefinition)
        {
            if (columnStateDefinition == null)
            {
                throw new ArgumentNullException(nameof(columnStateDefinition));
            }

            columnStateDefinition.ReadOnly = true;
            columnStateDefinition.Style    = CellStyle.Disabled;
        }
        /// <summary>
        /// Helper method that enables the <paramref name="columnStateDefinition"/>.
        /// </summary>
        /// <param name="columnStateDefinition">The column state definition to enable.</param>
        /// <param name="readOnly">Indicator whether the column should be read-only or not.</param>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="columnStateDefinition"/>
        /// is <c>null</c>.</exception>
        public static void EnableColumn(DataGridViewColumnStateDefinition columnStateDefinition, bool readOnly = false)
        {
            if (columnStateDefinition == null)
            {
                throw new ArgumentNullException(nameof(columnStateDefinition));
            }

            columnStateDefinition.ReadOnly = readOnly;
            columnStateDefinition.Style    = CellStyle.Enabled;
        }
Exemple #7
0
        public void DisableColumn_WithValidData_UpdatesColumnState()
        {
            // Setup
            var columnStateDefinition = new DataGridViewColumnStateDefinition();

            // Call
            ColumnStateHelper.DisableColumn(columnStateDefinition);

            // Assert
            Assert.IsTrue(columnStateDefinition.ReadOnly);
            Assert.AreEqual(CellStyle.Disabled, columnStateDefinition.Style);
        }
Exemple #8
0
        /// <summary>
        /// Helper method that sets the style of a <paramref name="columnStateDefinition"/> based on a
        /// <see cref="FailureMechanismSectionAssemblyGroup"/>.
        /// </summary>
        /// <param name="columnStateDefinition">The column state definition to set the style for.</param>
        /// <param name="assemblyGroup">The assembly group to base the style on.</param>
        /// <exception cref="InvalidEnumArgumentException">Thrown when <paramref name="assemblyGroup"/>
        /// has an invalid value for <see cref="FailureMechanismSectionAssemblyGroup"/>.</exception>
        /// <exception cref="NotSupportedException">Thrown when <paramref name="assemblyGroup"/>
        /// is not supported.</exception>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="columnStateDefinition"/>
        /// is <c>null</c>.</exception>
        public static void SetAssemblyGroupStyle(DataGridViewColumnStateDefinition columnStateDefinition,
                                                 FailureMechanismSectionAssemblyGroup assemblyGroup)
        {
            if (columnStateDefinition == null)
            {
                throw new ArgumentNullException(nameof(columnStateDefinition));
            }

            columnStateDefinition.Style = new CellStyle(
                Color.FromKnownColor(KnownColor.ControlText),
                FailureMechanismSectionAssemblyGroupColorHelper.GetFailureMechanismSectionAssemblyGroupColor(assemblyGroup));
        }
 /// <summary>
 /// Asserts the state of the <paramref name="columnStateDefinition"/>.
 /// </summary>
 /// <param name="columnStateDefinition">The <see cref="DataGridViewColumnStateDefinition"/>
 /// to assert.</param>
 /// <param name="isEnabled">Indicator whether the state should be enabled or not.</param>
 /// <param name="isReadOnly">Indicator whether the state should be read-only or not.</param>
 /// <exception cref="AssertionException">Thrown when the state of <paramref name="columnStateDefinition"/>
 /// is not equal to the given parameters.</exception>
 public static void AssertColumnState(DataGridViewColumnStateDefinition columnStateDefinition,
                                      bool isEnabled,
                                      bool isReadOnly = false)
 {
     if (isEnabled)
     {
         AssertColumnStateIsEnabled(columnStateDefinition, isReadOnly);
     }
     else
     {
         AssertColumnStateIsDisabled(columnStateDefinition);
     }
 }
        public void SetAssemblyGroupStyle_ValidFailureMechanismSectionAssemblyGroup_UpdatesColumnStyle(
            FailureMechanismSectionAssemblyGroup assemblyGroup, Color expectedColor)
        {
            // Setup
            var columnStateDefinition = new DataGridViewColumnStateDefinition();

            // Call
            FailureMechanismSectionResultRowHelper.SetAssemblyGroupStyle(columnStateDefinition, assemblyGroup);

            // Assert
            Assert.AreEqual(expectedColor, columnStateDefinition.Style.BackgroundColor);
            Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), columnStateDefinition.Style.TextColor);
        }
Exemple #11
0
        public void SetColumnState_ShouldDisableTrue_UpdatesColumnState()
        {
            // Setup
            var columnStateDefinition = new DataGridViewColumnStateDefinition();

            // Call
            ColumnStateHelper.SetColumnState(
                columnStateDefinition,
                true);

            // Assert
            Assert.IsTrue(columnStateDefinition.ReadOnly);
            Assert.AreEqual(CellStyle.Disabled, columnStateDefinition.Style);
        }
        public void SetAssemblyGroupStyle_InvalidFailureMechanismSectionAssemblyGroup_ThrowsInvalidEnumArgumentException()
        {
            // Setup
            var columnStateDefinition = new DataGridViewColumnStateDefinition();
            const FailureMechanismSectionAssemblyGroup assemblyGroup = (FailureMechanismSectionAssemblyGroup)99;

            // Call
            void Call() => FailureMechanismSectionResultRowHelper.SetAssemblyGroupStyle(columnStateDefinition, assemblyGroup);

            // Assert
            var expectedMessage = $"The value of argument 'assemblyGroup' ({assemblyGroup}) is invalid for Enum type '{nameof(FailureMechanismSectionAssemblyGroup)}'.";

            TestHelper.AssertThrowsArgumentExceptionAndTestMessage <InvalidEnumArgumentException>(Call, expectedMessage);
        }
Exemple #13
0
        public void EnableColumn_WithValidData_UpdatesColumnState()
        {
            // Setup
            var  columnStateDefinition = new DataGridViewColumnStateDefinition();
            bool readOnly = new Random(39).NextBoolean();

            // Call
            ColumnStateHelper.EnableColumn(
                columnStateDefinition,
                readOnly);

            // Assert
            Assert.AreEqual(readOnly, columnStateDefinition.ReadOnly);
            Assert.AreEqual(CellStyle.Enabled, columnStateDefinition.Style);
        }
Exemple #14
0
        /// <summary>
        /// Helper method that sets the state of the <paramref name="columnStateDefinition"/>
        /// based on <paramref name="shouldDisable"/>.
        /// </summary>
        /// <param name="columnStateDefinition">The column state definition to set the state for.</param>
        /// <param name="shouldDisable">Indicator whether the column should be disabled or not.</param>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="columnStateDefinition"/>
        /// is <c>null</c>.</exception>
        public static void SetColumnState(DataGridViewColumnStateDefinition columnStateDefinition, bool shouldDisable)
        {
            if (columnStateDefinition == null)
            {
                throw new ArgumentNullException(nameof(columnStateDefinition));
            }

            if (shouldDisable)
            {
                DisableColumn(columnStateDefinition);
            }
            else
            {
                EnableColumn(columnStateDefinition);
            }
        }
Exemple #15
0
        public void FormatCellWithColumnStateDefinition_WithArguments_FormatsCell(
            bool isReadOnly, string errorText, CellStyle cellStyle)
        {
            // Setup
            var definition = new DataGridViewColumnStateDefinition
            {
                ReadOnly  = isReadOnly,
                ErrorText = errorText,
                Style     = cellStyle
            };

            var mocks = new MockRepository();
            var row   = mocks.Stub <IHasColumnStateDefinitions>();

            row.Stub(r => r.ColumnStateDefinitions).Return(new Dictionary <int, DataGridViewColumnStateDefinition>
            {
                {
                    0, definition
                }
            });
            mocks.ReplayAll();

            using (var form = new Form())
                using (var dataGridViewControl = new DataGridViewControl())
                {
                    form.Controls.Add(dataGridViewControl);
                    form.Show();

                    dataGridViewControl.AddTextBoxColumn(null, "Test");
                    dataGridViewControl.SetDataSource(new[]
                    {
                        row
                    });

                    // Call
                    dataGridViewControl.FormatCellWithColumnStateDefinition(0, 0);

                    // Assert
                    DataGridViewCell cell = dataGridViewControl.Rows[0].Cells[0];
                    Assert.AreEqual(isReadOnly, cell.ReadOnly);
                    Assert.AreEqual(errorText, cell.ErrorText);
                    Assert.AreEqual(cellStyle.BackgroundColor, cell.Style.BackColor);
                    Assert.AreEqual(cellStyle.TextColor, cell.Style.ForeColor);

                    mocks.VerifyAll();
                }
        }
 /// <summary>
 /// Asserts that the state of the <paramref name="columnStateDefinition"/> is enabled.
 /// </summary>
 /// <param name="columnStateDefinition">The <see cref="DataGridViewColumnStateDefinition"/>
 /// to assert.</param>
 /// <param name="readOnly">Indicator whether the column state should be read-only or not.</param>
 /// <exception cref="AssertionException">Thrown when the state of <paramref name="columnStateDefinition"/>
 /// is not the same as the expected enabled state.</exception>
 public static void AssertColumnStateIsEnabled(DataGridViewColumnStateDefinition columnStateDefinition, bool readOnly = false)
 {
     Assert.AreEqual(CellStyle.Enabled, columnStateDefinition.Style);
     Assert.AreEqual(readOnly, columnStateDefinition.ReadOnly);
     Assert.AreEqual(string.Empty, columnStateDefinition.ErrorText);
 }
 /// <summary>
 /// Asserts that the state of the <paramref name="columnStateDefinition"/> is disabled.
 /// </summary>
 /// <param name="columnStateDefinition">The <see cref="DataGridViewColumnStateDefinition"/>
 /// to assert.</param>
 /// <exception cref="AssertionException">Thrown when the state of <paramref name="columnStateDefinition"/>
 /// is not the same as the expected disabled state.</exception>
 public static void AssertColumnStateIsDisabled(DataGridViewColumnStateDefinition columnStateDefinition)
 {
     Assert.AreEqual(CellStyle.Disabled, columnStateDefinition.Style);
     Assert.IsTrue(columnStateDefinition.ReadOnly);
     Assert.AreEqual(string.Empty, columnStateDefinition.ErrorText);
 }