Example #1
0
        public void ReadWriteTest()
        {
            var options = new HttpApiOptions().JsonSerializeOptions;

            var obj1 = new FormatModel {
                Age = 18, Name = "老九"
            };
            var formatter = new WebApiClientCore.Serialization.JsonSerializer();

            using var buffer = new BufferWriter <byte>();
            formatter.Serialize(buffer, obj1, options);
            var json = buffer.GetWrittenSpan().ToArray();
            var obj2 = formatter.Deserialize(json, typeof(FormatModel), options);

            Assert.True(obj1.Equals(obj2));

            var dic = new System.Collections.Concurrent.ConcurrentDictionary <string, object>();

            dic.TryAdd("Key", "Value");

            buffer.Clear();

            formatter.Serialize(buffer, dic, options);
            var json2 = Encoding.UTF8.GetString(buffer.GetWrittenSpan().ToArray());

            Assert.Contains("key", json2);
        }
        public void ReadWriteTest()
        {
            var obj1 = new FormatModel {
                Age = 18, Name = "老九"
            };
            var xml  = XmlSerializer.Serialize(obj1, null);
            var obj2 = XmlSerializer.Deserialize(xml, typeof(FormatModel), null);

            Assert.True(obj1.Equals(obj2));
        }
Example #3
0
        public void ReadWriteTest()
        {
            var obj1 = new FormatModel {
                Age = 18, Name = "老九"
            };
            var formatter = new WebApiClientCore.Serialization.XmlSerializer();
            var xml       = formatter.Serialize(obj1, Encoding.UTF8);
            var obj2      = formatter.Deserialize(xml, typeof(FormatModel));

            Assert.True(obj1.Equals(obj2));
        }
        public void EncodingTest()
        {
            var obj1 = new FormatModel {
                Age = 18, Name = "老九"
            };

            var opt = new System.Xml.XmlWriterSettings
            {
                Encoding = Encoding.Unicode
            };

            var xml = XmlSerializer.Serialize(obj1, opt);

            Assert.Contains(opt.Encoding.WebName, xml);
        }
        public void SerializeTest()
        {
            var obj1 = new FormatModel {
                Age = 18, Name = "lao九"
            };

            var options = new HttpApiOptions().KeyValueSerializeOptions;

            var kvs = KeyValueSerializer.Serialize("pName", obj1, options)
                      .ToDictionary(item => item.Key, item => item.Value, StringComparer.OrdinalIgnoreCase);

            Assert.True(kvs.Count == 2);
            Assert.True(kvs["Name"] == "lao九");
            Assert.True(kvs["Age"] == "18");


            kvs = KeyValueSerializer.Serialize("pName", 30, null)
                  .ToDictionary(item => item.Key, item => item.Value);

            Assert.True(kvs.Count == 1);
            Assert.True(kvs["pName"] == "30");

            var bools = KeyValueSerializer.Serialize("bool", true, null);

            Assert.Equal("true", bools[0].Value);

            var strings = KeyValueSerializer.Serialize("strings", "string", null);

            Assert.Equal("string", strings[0].Value);


            var dic = new System.Collections.Concurrent.ConcurrentDictionary <string, object>();

            dic.TryAdd("Key", "Value");

            var kvs2 = KeyValueSerializer.Serialize("dic", dic, options);

            Assert.True(kvs2.First().Key == "key");


            Assert.True(KeyValueSerializer.Serialize("null", null, null).Any());
        }