public void Serialize_WithConverter()
 {
     var converter = new QuantityJsonConverter(UnitProvider.Default);
     var obj = new TestObject { Distance = 1.23 * Length.Metre, Time = null };
     var json = JsonConvert.SerializeObject(obj, converter);
     Assert.AreEqual("{\"Distance\":\"1.23 m\",\"Time\":null,\"Quantities\":[]}", json);
 }
 public void Deserialize_WithConverter()
 {
     var converter = new QuantityJsonConverter(UnitProvider.Default);
     var json = "{\"Distance\":\"1.23 m\",\"Time\":null,\"Quantities\":[]}";
     var obj = JsonConvert.DeserializeObject<TestObject>(json, converter);
     Assert.AreEqual(1.23 * Length.Metre, obj.Distance);
     Assert.AreEqual(null, obj.Time);
 }
Example #3
0
        public void Deserialize_WithConverter()
        {
            var converter = new QuantityJsonConverter(UnitProvider.Default);
            var json      = "{\"Distance\":\"1.23 m\",\"Time\":null,\"Quantities\":[]}";
            var obj       = JsonConvert.DeserializeObject <TestObject>(json, converter);

            Assert.AreEqual(1.23 * Length.Metre, obj.Distance);
            Assert.AreEqual(null, obj.Time);
        }
Example #4
0
        public void Serialize_WithConverter()
        {
            var converter = new QuantityJsonConverter(UnitProvider.Default);
            var obj       = new TestObject {
                Distance = 1.23 * Length.Metre, Time = null
            };
            var json = JsonConvert.SerializeObject(obj, converter);

            Assert.AreEqual("{\"Distance\":\"1.23 m\",\"Time\":null,\"Quantities\":[]}", json);
        }
Example #5
0
        private void WriteJson(object value, string expected)
        {
            var converter = new QuantityJsonConverter(UnitProvider.Default);
            var stream    = new MemoryStream();
            var writer    = new StreamWriter(stream);

            using (var jsonWriter = new JsonTextWriter(writer))
            {
                var serializer = new JsonSerializer();
                converter.WriteJson(jsonWriter, value, serializer);
            }

            var json = Encoding.UTF8.GetString(stream.ToArray());

            Assert.AreEqual(expected, json);
        }