public void should_convert_nonnull_values_for_nullable_types()
        {
            PropertyInfo nullIntProp = ReflectionHelper.GetProperty <Target>(x => x.NullInt);
            var          reg         = new ValueConverterRegistry(new IConverterFamily[0], new ConverterLibrary());
            var          value       = new InMemoryBindingContext().WithPropertyValue("99");

            value.ForProperty(nullIntProp, c =>
            {
                reg.FindConverter(nullIntProp).Convert(c).ShouldEqual(99);
            });
        }
예제 #2
0
        public void can_accept_the_property_name_and_treat_it_as_true()
        {
            PropertyInfo property = ReflectionHelper.GetProperty <DummyClass>(c => c.Hungry);
            var          context  = new InMemoryBindingContext();

            context["Hungry"] = "Hungry";

            ValueConverter converter = new BooleanFamily().Build(null, property);

            context.ForProperty(property, x =>
            {
                converter.Convert(context).As <bool>().ShouldBeTrue();
            });
        }
예제 #3
0
        private bool WithValue(string value)
        {
            PropertyInfo property = ReflectionHelper.GetProperty <BooleanFamilyTester.DummyClass>(c => c.Hungry);
            var          context  = new InMemoryBindingContext();

            context["Hungry"] = value;

            var convertedValue = false;

            ValueConverter converter = new BooleanFamily().Build(null, property);

            context.ForProperty(property, x =>
            {
                convertedValue = converter.Convert(context).As <bool>();
            });

            return(convertedValue);
        }
        public void expand_environment_variables_for_settings_marked_for_expansion()
        {
            string expandedVariable = Environment.GetEnvironmentVariable("SystemRoot");
            var    context          = new InMemoryBindingContext();

            context[expandProp.Name] = "%SystemRoot%\\foo";

            bool           wasCalled = false;
            ValueConverter converter = _family.Build(null, expandProp);

            context.ForProperty(expandProp, x =>
            {
                wasCalled = true;

                converter.Convert(context).ShouldEqual(expandedVariable + @"\foo");
            });

            wasCalled.ShouldBeTrue();
        }