public override FilterDescriptorBase BuildDescriptor()
        {
            var descriptor = new BooleanFilterDescriptor()
            {
                PropertyName = this.PropertyName
            };

            descriptor.Value = checkBox.IsChecked;

            return(descriptor);
        }
        /// <summary>
        /// Builds the <see cref="FilterDescriptorBase" /> that describes the user input within this instance.
        /// </summary>
        public override FilterDescriptorBase BuildDescriptor()
        {
            BooleanFilterDescriptor descriptor = new BooleanFilterDescriptor();

            descriptor.PropertyName = this.PropertyName;
            if (this.trueButton.IsChecked.GetValueOrDefault())
            {
                descriptor.Value = true;
            }
            else
            {
                descriptor.Value = false;
            }

            return(descriptor);
        }
        public void Test_NullableBooleanValue()
        {
            BooleanFilterDescriptor descriptor = new BooleanFilterDescriptor();

            descriptor.MemberAccess = new NullableValueMemberAccess();

            var model = new BooleanViewModel()
            {
                NullableValue = null
            };

            Assert.IsTrue(descriptor.PassesFilter(model));

            descriptor.Value = true;
            Assert.IsFalse(descriptor.PassesFilter(model));

            model.NullableValue = new Nullable <bool>(true);
            Assert.IsTrue(descriptor.PassesFilter(model));
        }
        public void Test_ConvertValue_FromString()
        {
            BooleanFilterDescriptor descriptor = new BooleanFilterDescriptor();

            descriptor.Value        = "True";
            descriptor.MemberAccess = new ValueMemberAccess();

            var model = new BooleanViewModel()
            {
                Value = true
            };

            Assert.IsTrue(descriptor.PassesFilter(model));

            descriptor.Value = "false";
            Assert.IsFalse(descriptor.PassesFilter(model));

            model.Value = false;
            Assert.IsTrue(descriptor.PassesFilter(model));
        }