public void AddBaseTable_ShouldUpdateIsFilterableProperty()
        {
            #region Arrange

            var visibleFields = new[] { BaseField1Name, BaseField3Name };

            var queryGenerator = new SearchQueryGeneratorTest();
            queryGenerator.SetNonFilteredColumns(null);
            queryGenerator.ResultColumns.AddRange(visibleFields);
            queryGenerator.LimitResultColumns = true;

            var baseProcessdefinition = new ProcessDefinition();
            var baseTableDefinition = new TableDefinition("TestBaseProcess");
            baseProcessdefinition.TableList.Insert(0, baseTableDefinition);
            baseTableDefinition.AddField(BaseField1Name, ColumnTypes.Numeric, null, true, true);
            baseTableDefinition.AddField(BaseField2Name, ColumnTypes.Object, null, true, true);
            baseTableDefinition.AddField(BaseField3Name, ColumnTypes.Object, null, true, false);

            #endregion Arrange

            // Act
            queryGenerator.AddBaseTable(baseProcessdefinition);

            // Assert
            Assert.IsTrue(queryGenerator.BaseFieldIsFilterable(BaseField1Name));
            Assert.IsFalse(queryGenerator.BaseFieldIsFilterable(BaseField2Name));
            Assert.IsFalse(queryGenerator.BaseFieldIsFilterable(BaseField3Name));
        }