Inheritance: Newtonsoft.Json.JsonConverter
コード例 #1
0
        public void CheckingAllBasicValues(object value, string expected)
        {
            var sut    = new DefaultConverter();
            var result = sut.Convert(value);

            result.Should().Be(expected);
        }
コード例 #2
0
        public async Task NumericFieldWithCurrencyFormat()
        {
            var comp = Context.RenderComponent <MudNumericField <int?> >();

            comp.SetParam(x => x.Format, "€0");
            comp.SetParam(x => x.Culture, CultureInfo.InvariantCulture);
            // print the generated html
            //Console.WriteLine(comp.Markup);
            // select elements needed for the test
            var numericField = comp.Instance;

            numericField.Value.Should().Be(null);
            numericField.Text.Should().Be(null);
            //
            77.ToString("€0", CultureInfo.InvariantCulture).Should().Be("€77");
            var conv = new DefaultConverter <int?>();

            conv.Format  = "€0";
            conv.Culture = CultureInfo.InvariantCulture;
            conv.Set(77).Should().Be("€77");
            //
            comp.FindAll("input").First().Change("1234");
            comp.FindAll("input").First().Blur();
            //Console.WriteLine(numericField.ErrorText);
            comp.WaitForAssertion(() => numericField.Text.Should().Be("€1234"));
            comp.WaitForAssertion(() => numericField.Value.Should().Be(1234));
        }
        public void TryConvert_CultureInfoToString_UsingInvariantCulture()
        {
            var converter = new DefaultConverter();
            var value     = converter.ChangeType <string>(new CultureInfo("en"), defaultValue: null, CultureInfo.InvariantCulture);

            Assert.Equal("en", value);
        }
コード例 #4
0
        public void Test_ToInt64(byte[] bytes, long expected, bool useNbo)
        {
            var converter = new DefaultConverter();
            var actual    = converter.ToInt64(bytes.AsSpan(), useNbo);

            Assert.Equal(expected, actual);
        }
コード例 #5
0
        public void Test_Timed_Execution()
        {
            var converter  = new DefaultConverter();
            var transcoder = new DefaultTranscoder(converter);
            var vbucket    = GetVBucket();
            int n          = 1000; //set to a higher # if needed

            using (new OperationTimer())
            {
                var key = string.Format("key{0}", 111);

                for (var i = 0; i < n; i++)
                {
                    var set = new Set <int?>(key, 111, vbucket, transcoder, OperationLifespanTimeout);
                    var get = new Get <int?>(key, vbucket, transcoder, OperationLifespanTimeout);

                    var result = IOService.Execute(set);
                    Assert.IsTrue(result.Success);

                    var result1 = IOService.Execute(get);
                    Assert.IsTrue(result1.Success);
                    Assert.AreEqual(111, result1.Value);
                }
            }
        }
コード例 #6
0
        static void Main(string[] args)
        {
            string jsonString  = "{\"data\":[{\"key\":\"Audio\",\"it.e][\\\"ms\":[{\"key\":\"Bluetooth Headphones\",\"items\":null,\"count\":13482,\"summary\":[12099500.9899]}]}],\"totalCount\":1000000,\"summary\":[3638256074.5103]}";
            string jsonString2 = "[[{\"key\":\"Bluetooth Headphones\",\"items\":null,\"count\":13482,\"summary\":[12099500.9899]}],[\"value\"]]";
            string jsonString1 = "{\"ABC\": [\"a\", \"b\"]}";
            var    obj         = JsonSerializerUtil.Deserialize(jsonString);

            Console.WriteLine("Enter conversion option (0: Default, 1: JToken): ");
            var convertOption = Console.ReadLine();

            Console.Clear();
            if (convertOption == "1")
            {
                Console.WriteLine("Converting JSON to Object Initializer using Token types");
                string objectIniOutput = new JTokenConverter().ConstructObjectInitializerFormat(obj);
                Console.WriteLine(objectIniOutput);
            }
            else if (convertOption == "0")
            {
                Console.WriteLine("Converting JSON to Object Initializer using Property names");
                string objectIniOutput = new DefaultConverter().ConstructObjectInitializerFormat(obj);
                Console.WriteLine(objectIniOutput);
            }
            else
            {
                Console.WriteLine("Invalid option provided.");
            }

            Console.ReadLine();
        }
        public void TryConvert_CultureInfoToString_UsingSpecificCulture()
        {
            var converter = new DefaultConverter();
            var value     = converter.ChangeType <string>(new CultureInfo("en"), defaultValue: null, new CultureInfo("en-US"));

            Assert.Equal("en", value);
        }
コード例 #8
0
            public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                object result;

                if (DefaultConverter.TryConvertTo(value, targetType, culture, m_converter, out result))
                {
                    return(result);
                }

                if (value != null)
                {
                    var valueType = value.GetType();

                    if (DefaultConverter.TryConvertTo(value, targetType, culture, TypeDescriptor.GetConverter(valueType), out result))
                    {
                        return(result);
                    }

                    if (targetType.IsAssignableFrom(valueType))
                    {
                        return(value);
                    }
                }
                else if (DefaultConverter.IsNullableType(targetType))
                {
                    return(value);
                }

                throw new ArgumentException("Cannot convert to type " + targetType.FullName + ".", "value");
            }
コード例 #9
0
        public void Test_ToString(byte[] bytes, string expected, int offset, int length)
        {
            var converter = new DefaultConverter();
            var actual    = converter.ToString(bytes.AsSpan(offset, length));

            Assert.Equal(expected, actual);
        }
コード例 #10
0
        public void Test_GetBit(byte value, int position, bool expected)
        {
            var converter = new DefaultConverter();
            var actual    = converter.GetBit(value, position);

            Assert.Equal(expected, actual);
        }
コード例 #11
0
        public void Test_Timed_Execution_Parallel()
        {
            var options = new ParallelOptions {
                MaxDegreeOfParallelism = 4
            };
            var converter  = new DefaultConverter();
            var transcoder = new DefaultTranscoder(converter);
            var vbucket    = GetVBucket();
            var n          = 1000;//set to a higher # if needed

            using (new OperationTimer())
            {
                Parallel.For(0, n, options, i =>
                {
                    var key    = string.Format("key{0}", i);
                    var set    = new Set <int?>(key, i, vbucket, transcoder, OperationLifespanTimeout);
                    var result = IOService.Execute(set);
                    Assert.IsTrue(result.Success);

                    var get     = new Get <int?>(key, vbucket, transcoder, OperationLifespanTimeout);
                    var result1 = IOService.Execute(get);
                    Assert.IsTrue(result1.Success);
                    Assert.AreEqual(i, result1.Value);
                });
            }
        }
コード例 #12
0
        public void Test_ToInt64_NoNboSpecified(byte[] bytes, long expected)
        {
            var converter = new DefaultConverter();
            var actual    = converter.ToInt64(bytes.AsSpan());

            Assert.Equal(expected, actual);
        }
コード例 #13
0
        public void TryConvert_CultureInfoToString()
        {
            var converter = new DefaultConverter();
            var value     = converter.ChangeType <string>(new CultureInfo("en"), null, new CultureInfo("en-US"));

            Assert.AreEqual("en", value);
        }
コード例 #14
0
        public void TryConvert_StringToInt32_EmptyString()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("", cultureInfo, out int _);

            Assert.False(converted);
        }
コード例 #15
0
        public void TryConvert_TypeConverter_ConvertFrom_NoMatchingTypeConverter()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("", cultureInfo, out Dummy value);

            Assert.AreEqual(false, converted);
        }
コード例 #16
0
        public void TryConvert_StringToByteArray_Base64_Invalid()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("AQIDBA=", cultureInfo, out byte[] _);

            Assert.False(converted);
        }
コード例 #17
0
        public void TryConvert_StringToCultureInfo_InvalidCulture()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("dfgnksdfklgfg", cultureInfo, out CultureInfo _);

            Assert.False(converted);
        }
コード例 #18
0
        public void TryConvert_DbNullToInt32()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType(DBNull.Value, cultureInfo, out int _);

            Assert.False(converted);
        }
コード例 #19
0
        public void Test_ToUInt32()
        {
            var       converter = new DefaultConverter();
            var       actual    = converter.ToUInt32(_buffer, 8);
            const int expected  = 5;

            Assert.AreEqual(expected, actual);
        }
コード例 #20
0
        public void Test_ToByte()
        {
            var       converter = new DefaultConverter();
            var       actual    = converter.ToByte(_buffer, 0);
            const int expected  = 128;

            Assert.AreEqual(expected, actual);
        }
コード例 #21
0
        /// <summary>
        ///   Should perform the conversion from the
        ///   configuration node specified to the type
        ///   specified.
        /// </summary>
        /// <param name="configuration" />
        /// <param name="targetType" />
        /// <returns />
        public override object PerformConversion(IConfiguration configuration, Type targetType)
        {
            var converter = new DefaultConverter(configuration.Children, Context);
              string name = converter.Get<string>("name");
              int age = converter.Get<int>("age");

              return new Person(name, age);
        }
コード例 #22
0
        /// <summary>
        ///   Should perform the conversion from the
        ///   configuration node specified to the type
        ///   specified.
        /// </summary>
        /// <param name="configuration" />
        /// <param name="targetType" />
        /// <returns />
        public override object PerformConversion(IConfiguration configuration, Type targetType)
        {
            var    converter = new DefaultConverter(configuration.Children, Context);
            string name      = converter.Get <string>("name");
            int    age       = converter.Get <int>("age");

            return(new Person(name, age));
        }
コード例 #23
0
        public void TryConvert_CultureInfo_InvalidCulture()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("dfgnksdfklgfg", cultureInfo, out CultureInfo value);

            Assert.AreEqual(false, converted);
        }
コード例 #24
0
        public void TryConvert_StringToInt32_02()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("", cultureInfo, out int value);

            Assert.AreEqual(false, converted);
        }
コード例 #25
0
        public void TryConvert_ImplicitConverter_01()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType(new ImplicitConverter(), cultureInfo, out int value);

            Assert.True(converted);
            Assert.Equal(1, value);
        }
コード例 #26
0
        public void TryConvert_StringToNullableInt32_01()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("42", cultureInfo, out int?value);

            Assert.AreEqual(true, converted);
            Assert.AreEqual(42, value);
        }
コード例 #27
0
        public void TryConvert_DbNullToString()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType(DBNull.Value, cultureInfo, out string value);

            Assert.AreEqual(true, converted);
            Assert.AreEqual(null, value);
        }
コード例 #28
0
        public void TryConvert_Uri_03()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("http://meziantou.net", cultureInfo, out Uri value);

            Assert.AreEqual(true, converted);
            Assert.AreEqual(new Uri("http://meziantou.net", UriKind.Absolute), value);
        }
コード例 #29
0
        public void TryConvert_Uri_02()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("test.png", cultureInfo, out Uri value);

            Assert.AreEqual(true, converted);
            Assert.AreEqual(new Uri("test.png", UriKind.Relative), value);
        }
コード例 #30
0
		public void Init()
		{
			CultureInfo en = CultureInfo.CreateSpecificCulture("en");

			Thread.CurrentThread.CurrentCulture = en;
			Thread.CurrentThread.CurrentUICulture = en;

			converter = new DefaultConverter();
		}
コード例 #31
0
        public void TryConvert_CultureInfo_NullValue()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType <CultureInfo>(null, null, out var value);

            Assert.AreEqual(true, converted);
            Assert.AreEqual(null, value);
        }
コード例 #32
0
        public void TryConvert_CultureInfo_EmptyString()
        {
            var converter   = new DefaultConverter();
            var cultureInfo = CultureInfo.InvariantCulture;
            var converted   = converter.TryChangeType("", cultureInfo, out CultureInfo value);

            Assert.AreEqual(true, converted);
            Assert.AreEqual(CultureInfo.InvariantCulture, value);
        }
コード例 #33
0
		public void Init()
		{
			converter = new DefaultConverter();
		}