public void FilteredDataGridViewTest()
 {
     using (var fdgv = new FilteredDataGridView())
     {
         Assert.IsNotNull(fdgv);
     }
 }
        public void ApplyFiltersFilteredDataGridViewTest()
        {
            using (var fdgv = new FilteredDataGridView())
            {
                fdgv.ApplyFilters();
            }

            using (var fdgv = new FilteredDataGridView())
            {
                using (var comboBoxColumn = new DataGridViewComboBoxColumn())
                {
                    comboBoxColumn.Items.AddRange(Color.Red, Color.Yellow, Color.Green);
                    comboBoxColumn.ValueType = typeof(Color);
                }

                var boolColumn = new DataGridViewCheckBoxColumn();
                fdgv.Columns.Add(boolColumn);

                fdgv.ApplyFilters();
            }

            using (var dt = UnitTestStatic.GetDataTable())
                using (var filteredDataGridView = new FilteredDataGridView())
                {
                    filteredDataGridView.DataSource = dt;
                    using (var frm = new Form())
                    {
                        frm.Controls.Add(filteredDataGridView);
                        frm.Show();
                        filteredDataGridView.ApplyFilters();
                    }
                }
        }
        public void HideEmptyColumnsTest()
        {
            using (var filteredDataGridView = new FilteredDataGridView())
            {
                var dt = UnitTestStatic.GetDataTable(100);
                filteredDataGridView.DataSource = dt;
                using (var frm = new Form())
                {
                    frm.Controls.Add(filteredDataGridView);
                    frm.Show();
                    var numCol = 0;
                    foreach (DataGridViewColumn col in filteredDataGridView.Columns)
                    {
                        if (col.Visible)
                        {
                            numCol++;
                        }
                    }
                    Assert.AreEqual(numCol, dt.Columns.Count);
                    filteredDataGridView.HideEmptyColumns();

                    numCol = 0;
                    foreach (DataGridViewColumn col in filteredDataGridView.Columns)
                    {
                        if (col.Visible)
                        {
                            numCol++;
                        }
                    }

                    Assert.AreEqual(numCol + 1, dt.Columns.Count);
                }
            }
        }
 public void FrozenColumns()
 {
     using (var dt = UnitTestStatic.GetDataTable())
         using (var filteredDataGridView = new FilteredDataGridView())
         {
             filteredDataGridView.DataSource    = dt;
             filteredDataGridView.FrozenColumns = 2;
             UnitTestWinFormHelper.WaitSomeTime(.2, UnitTestInitializeCsv.Token);
         }
 }
 public void HighlightText()
 {
     using (var dt = UnitTestStatic.GetDataTable())
         using (var filteredDataGridView = new FilteredDataGridView())
         {
             filteredDataGridView.DataSource    = dt;
             filteredDataGridView.HighlightText = "ag";
             UnitTestWinFormHelper.WaitSomeTime(.2, UnitTestInitializeCsv.Token);
             Assert.AreEqual("", filteredDataGridView.CurrentFilter);
         }
 }
 public void SetRowHeightTest()
 {
     using (var filteredDataGridView = new FilteredDataGridView())
     {
         filteredDataGridView.DataSource = UnitTestStatic.GetDataTable(100);
         using (var frm = new Form())
         {
             frm.Controls.Add(filteredDataGridView);
             frm.Show();
             filteredDataGridView.SetRowHeight();
         }
     }
 }
        public void HideEmptyColumnsTest()
        {
            using (var filteredDataGridView = new FilteredDataGridView())
            {
                var dt = UnitTestStatic.GetDataTable();
                filteredDataGridView.DataSource = dt;
                using (var frm = new Form())
                {
                    frm.Controls.Add(filteredDataGridView);
                    frm.Show();
                    var numCol = filteredDataGridView.Columns.Cast <DataGridViewColumn>().Count(col => col.Visible);
                    Assert.AreEqual(numCol, dt.Columns.Count);
                    filteredDataGridView.HideEmptyColumns();

                    numCol = filteredDataGridView.Columns.Cast <DataGridViewColumn>().Count(col => col.Visible);

                    Assert.AreEqual(numCol + 1, dt.Columns.Count);
                }
            }
        }
        public void FilteredDataGridViewVarious_SetFilterMenu()
        {
            using (var data = UnitTestStatic.GetDataTable(200))
                using (var ctrl = new FilteredDataGridView())
                {
                    UnitTestWinFormHelper.ShowControl(new FilteredDataGridView(), 0.5d,
                                                      (control, form) =>
                    {
                        if (!(control is FilteredDataGridView ctrl2))
                        {
                            return;
                        }
                        ctrl2.DataSource = data;

                        // Refresh all columns filters
                        for (int col = 0; col < data.Columns.Count; col++)
                        {
                            ctrl2.SetFilterMenu(col);
                        }
                    });