Example #1
0
        public void TransformationFilter_Integer_Test(long testData, TransformationFilterOperatorEnum operation, bool expectedResult)
        {
            var filter = BuildTransformationFilter(string.Format("<filter field='test' filtertype='INT' operator='{0}' value='5' />", operation));

            var result = filter.Check(testData);

            Assert.That(result, Is.EqualTo(expectedResult));
        }
Example #2
0
        public void TransformationFilter_Date_Test(int month, TransformationFilterOperatorEnum operation, bool expectedResult)
        {
            var testData = new DateTime(2016, month, 1);

            var filter = BuildTransformationFilter(string.Format("<filter field='test' filtertype='DATETIME' operator='{0}' value='2016-05-01' format='yyyy-MM-dd' />", operation));

            var result = filter.Check(testData);

            Assert.That(result, Is.EqualTo(expectedResult));
        }
Example #3
0
        public TransformationFilter(XElement filterConfig)
        {
            if (filterConfig.Attribute("field") == null || filterConfig.Attribute("operator") == null || filterConfig.Attribute("value") == null)
            {
                throw new TransformationFilterException(string.Format("Invalid Filter {0}", filterConfig.Attribute("field")?.Value));
            }

            FieldName = filterConfig.Attribute("field").Value.ToLower();

            _operator = TransformationFilterOperatorEnum.Equal;
            if (!Enum.TryParse(filterConfig.Attribute("operator").Value, true, out _operator))
            {
                throw new TransformationFilterException(string.Format("Invalid operator {1} for Filter {0}", filterConfig.Attribute("field").Value, filterConfig.Attribute("operator").Value));
            }

            UpdateFilterValues(filterConfig);
        }