public void QualifierFilter_Validates_Ok(Comparator comparator, ComparisonOperator comparisonOperator, bool entity, bool emptyCol) { var filter = new QualifierFilter <MockDomainObject>(_map); filter.ComparisonOperator(comparisonOperator); filter.Comparator(comparator); var buildString = $"QualifierFilter ({comparisonOperator.GetComparisonOperatorString()},'{comparator.GetComparatorString()}:{(entity ? "Number" : "test")}' )"; if (!emptyCol) { if (entity) { filter.Column(x => x.Number); } else { filter.Column("test"); } } var validator = filter.ToFilterBuild(); var isSpecialCase = filter.ValidateOperationForComparator(comparator, comparisonOperator); if (!isSpecialCase || emptyCol) { Assert.Throws <FilterException>(() => validator.Validate()); } else { validator.Validate(); Assert.Equal(buildString, validator.Build()); } }