Beispiel #1
0
        public void ShouldConvertToStringForEmptyDescriptionAttribute()
        {
            object converted = new EnumValueConverter().Convert(EnumTestCase.Three, null, null, null);

            Assert.IsInstanceOfType(converted, typeof(string));
            Assert.AreEqual <string>("Three", (string)converted);
        }
Beispiel #2
0
        public void ShouldConvertNonEnumValueToString()
        {
            object converted = new EnumValueConverter().Convert(1234, null, null, null);

            Assert.IsInstanceOfType(converted, typeof(string));
            Assert.AreEqual <string>("1234", (string)converted);
        }
Beispiel #3
0
        public void ShoudConvertEnumToString()
        {
            object converted = new EnumValueConverter().Convert(EnumTestCase.One, null, null, null);

            Assert.IsInstanceOfType(converted, typeof(string));
            Assert.AreEqual <string>("One", (string)converted);
        }
Beispiel #4
0
        public void ShouldTakeDescriptionAttributeDuringConversion()
        {
            object converted = new EnumValueConverter().Convert(EnumTestCase.Two, null, null, null);

            Assert.IsInstanceOfType(converted, typeof(string));
            Assert.AreEqual <string>("description", (string)converted);
        }
Beispiel #5
0
        public override System.Windows.DataTemplate SelectTemplate(object item, System.Windows.DependencyObject container)
        {
            var datatemplate = new DataTemplate();

            if (item == null)
            {
                return(datatemplate);
            }
            if (_edit)
            {
                datatemplate.VisualTree = new FrameworkElementFactory(typeof(StackPanel));
                var converter = new EnumValueConverter(item, property);
                foreach (object value in Enum.GetValues(enumType))
                {
                    var cbox = new FrameworkElementFactory(typeof(CheckBox));
                    cbox.SetValue(CheckBox.ContentProperty, value.ToString());
                    Delegate add = (RoutedEventHandler) delegate(object obj, RoutedEventArgs e) { };
                    var      b   = new Binding(property);
                    b.Converter           = converter;
                    b.ConverterParameter  = value;
                    b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                    cbox.SetValue(CheckBox.IsCheckedProperty, b);
                    cbox.AddHandler(CheckBox.CheckedEvent, add);
                    cbox.AddHandler(CheckBox.UncheckedEvent, add);
                    datatemplate.VisualTree.AppendChild(cbox);
                }
            }
            else
            {
                datatemplate.VisualTree = new FrameworkElementFactory(typeof(Label));
                datatemplate.VisualTree.SetValue(Label.ContentProperty, new Binding(property));
            }

            return(datatemplate);
        }
Beispiel #6
0
        public void ShouldReturnNullValueString()
        {
            object converted = new EnumValueConverter().Convert(null, null, null, null);

            Assert.IsInstanceOfType(converted, typeof(string));
            Assert.AreEqual <string>(EnumValueConverter.NullValueString, (string)converted);
        }
        public override System.Windows.DataTemplate SelectTemplate(object item, System.Windows.DependencyObject container)
        {
            var datatemplate = new DataTemplate();
            if (item == null)
                return datatemplate;
            if (_edit)
            {
                datatemplate.VisualTree = new FrameworkElementFactory(typeof(StackPanel));
                var converter = new EnumValueConverter(item,property);
                foreach (object value in Enum.GetValues(enumType))
                {
                    var cbox = new FrameworkElementFactory(typeof(CheckBox));
                    cbox.SetValue(CheckBox.ContentProperty, value.ToString());
                    Delegate add = (RoutedEventHandler)delegate(object obj, RoutedEventArgs e) { };
                    var b = new Binding(property);
                    b.Converter = converter;
                    b.ConverterParameter = value;
                    b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                    cbox.SetValue(CheckBox.IsCheckedProperty, b);
                    cbox.AddHandler(CheckBox.CheckedEvent, add);
                    cbox.AddHandler(CheckBox.UncheckedEvent, add);
                    datatemplate.VisualTree.AppendChild(cbox);
                }
            }
            else
            {
                datatemplate.VisualTree = new FrameworkElementFactory(typeof(Label));
                datatemplate.VisualTree.SetValue(Label.ContentProperty, new Binding(property));
            }

            return datatemplate;
        }
Beispiel #8
0
        public void When_one_value_converter_only_is_specified()
        {
            var one = new EnumValueConverter();

            _config = new StronkConfig()
                      .Convert.UsingOnly(one);

            _config.ValueConverters.ShouldBe(new IValueConverter[] { one });
        }
Beispiel #9
0
        public void When_one_value_converter_is_specified()
        {
            var one = new EnumValueConverter();

            _config = new StronkConfig()
                      .Convert.Using(one);

            _config.ValueConverters.ShouldBe(new IValueConverter[] { one }.Concat(Default.ValueConverters));
        }
Beispiel #10
0
        public void When_two_value_converters_are_specified()
        {
            var one = new EnumValueConverter();
            var two = new CsvValueConverter();

            _config = new StronkConfig()
                      .Convert.Using(one, two);

            _config.ValueConverters.ShouldBe(new IValueConverter[] { one, two }.Concat(Default.ValueConverters));
        }
Beispiel #11
0
        internal void WriteEnumValue(string symbolPath, object value, TcAdsDataType type, AdsBinaryWriter writer, int writerOffset)
        {
            object obj2 = value;

            if (value is string)
            {
                obj2 = EnumValueConverter.ToValue(type, (string)value);
            }
            this.WritePrimitiveValue(symbolPath, obj2, type.ManagedType, type.DataTypeId, type.Size, writer, writerOffset);
        }
Beispiel #12
0
        public void When_two_value_converters_are_specified_and_one_only_specified()
        {
            var one   = new EnumValueConverter();
            var two   = new CsvValueConverter();
            var three = new FallbackValueConverter();

            _config = new StronkConfig()
                      .Convert.Using(one, two)
                      .Convert.UsingOnly(three);

            _config.ValueConverters.ShouldBe(new IValueConverter[] { one, two, three });
        }
        public void Convert_TargetIsNotEnum_ReturnsDoNothing()
        {
            var converter = new EnumValueConverter();

            // Act
            var result = converter.Convert("Test", typeof(int),
                                           new OptionParameterAttribute('t', "test"));

            // Assert
            result
            .Should()
            .Be(ConverterAction.DoNothing);
        }
 public EnumValueConverterTests()
 {
     _converter = new EnumValueConverter();
 }
        public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options)
        {
            var converter = new EnumValueConverter();

            return(converter);
        }