Example #1
0
        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());
            }
        }