public void SingleColumnValueFilter_Validates_OK(Comparator comparator, ComparisonOperator comparison, bool latest, bool filterIfMissing)
        {
            var value  = "test";
            var filter = new SingleColumnValueFilter <MockDomainObject>(_map);


            filter.ComparisonOperator(comparison);
            filter.Comparator(comparator);

            filter.Column(x => x.Name);
            filter.ColumnValue(value);
            filter.FilterIfColumnMissing(filterIfMissing);
            filter.LatestVersion(latest);

            var validation = filter.ToFilterBuild();

            var isSpecialCase = filter.ValidateOperationForComparator(comparator, comparison);

            if (!isSpecialCase)
            {
                Assert.Throws <FilterException>(() => validation.Validate());
            }
            else
            {
                validation.Validate();
            }
        }
        public void SingleColumnValueFilter_Builds_OK([CombinatorialValues(1.0f, 2.0d, 3L, 4, "test")] object value, Comparator comparator, ComparisonOperator comparison, bool latest, bool filterIfMissing)
        {
            var expected = $"SingleColumnValueFilter ('{Maps.MockDomainObject.TestColumnFamily}','{Maps.MockDomainObject.NameColumn}',{comparison.GetComparisonOperatorString()}," +
                           $"'{comparator.GetComparatorString()}{value}',{filterIfMissing},{latest})";

            var filter = new SingleColumnValueFilter <MockDomainObject>(_map);

            filter.ComparisonOperator(comparison);
            filter.Comparator(comparator);

            filter.Column(x => x.Name);
            filter.ColumnValue(value);
            filter.FilterIfColumnMissing(filterIfMissing);
            filter.LatestVersion(latest);

            var validation = filter.ToFilterBuild();

            var build = validation.Build();

            Assert.Equal(expected, build);
        }