public void AddReferencesFiltered_ShouldUpdateIsFilterableProperty() { #region Arrange var visibleFields = new string[0]; var queryGenerator = new SearchQueryGeneratorTest(); queryGenerator.SetNonFilteredColumns(new [] { CrField2Name, McrField2Name, RcrField2Name }); var processdefinition = new ProcessDefinition(); var tableDefinition = new TableDefinition("TestProcess"); processdefinition.TableList.Insert(0, tableDefinition); processdefinition.SingleCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.Reference, SystemName = CrField1Name, IsFilterable = true }); processdefinition.SingleCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.Reference, SystemName = CrField2Name, IsFilterable = true }); processdefinition.SingleCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.Reference, SystemName = CrField3Name, IsFilterable = false }); processdefinition.MultiCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.MultiReference, SystemName = McrField1Name, IsFilterable = true }); processdefinition.MultiCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.MultiReference, SystemName = McrField2Name, IsFilterable = true }); processdefinition.MultiCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.MultiReference, SystemName = McrField3Name, IsFilterable = false }); processdefinition.ReverseCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.ReverseReference, SystemName = RcrField1Name, IsFilterable = true }); processdefinition.ReverseCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.ReverseReference, SystemName = RcrField2Name, IsFilterable = true }); processdefinition.ReverseCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.ReverseReference, SystemName = RcrField3Name, IsFilterable = false }); #endregion Arrange // Act queryGenerator.AddReferences(processdefinition); // Assert Assert.IsTrue(queryGenerator.SingleCrossReferenceIsFilterable(CrField1Name)); Assert.IsFalse(queryGenerator.SingleCrossReferenceIsFilterable(CrField2Name)); Assert.IsFalse(queryGenerator.SingleCrossReferenceIsFilterable(CrField3Name)); Assert.IsTrue(queryGenerator.MultiCrossReferenceIsFilterable(McrField1Name)); Assert.IsFalse(queryGenerator.MultiCrossReferenceIsFilterable(McrField2Name)); Assert.IsFalse(queryGenerator.MultiCrossReferenceIsFilterable(McrField3Name)); Assert.IsTrue(queryGenerator.ReverseCrossReferenceIsFilterable(RcrField1Name)); Assert.IsFalse(queryGenerator.ReverseCrossReferenceIsFilterable(RcrField2Name)); Assert.IsFalse(queryGenerator.ReverseCrossReferenceIsFilterable(RcrField3Name)); }