public BoolEntityFilter_()
        {
            var entity = new Entity(typeof(TestEntity));
            _property = entity["IsSpecial"];

            _filter = new BoolEntityFilter(_property, "1");
        }
        public void selected_value_should_match()
        {
            _filter = new BoolEntityFilter(_property, "1");
            var options = _filter.Options.ToList();
            Assert.True(options[1].Selected);

            _filter = new BoolEntityFilter(_property, "0");
            options = _filter.Options.ToList();
            Assert.True(options[2].Selected);
        }
        public IList<IEntityFilter> PrepareFilters(Entity entity)
        {
            var filters = new List<IEntityFilter>();

            foreach (var property in entity.Properties.Where(x => x.TypeInfo.DataType == DataType.Bool))
            {
                var value = Request[property.Name];

                var filter = new BoolEntityFilter();
                filter.Initialize(property, value);
                filters.Add(filter);
            }

            foreach (var property in entity.Properties.Where(x => x.TypeInfo.DataType == DataType.Enum))
            {
                var value = Request[property.Name];

                var filter = new EnumEntityFilter();
                filter.Initialize(property, value);
                filters.Add(filter);
            }

            foreach (var property in entity.Properties.Where(x => x.TypeInfo.DataType == DataType.DateTime))
            {
                var value = Request[property.Name];

                var filter = new DateTimeEntityFilter();
                filter.Initialize(property, value);
                filters.Add(filter);
            }

            return filters;
        }