示例#1
0
        public void Serialises_to_json_array_of_arrays(object points)
        {
            var converter = new PointJsonConverter();

            var writer = new JTokenWriter();

            converter.WriteJson(writer, points, JsonSerializer.CreateDefault());

            writer.Token.Type.ShouldBe(JTokenType.Array);
            writer.Token.First.Type.ShouldBe(JTokenType.Array);
        }
示例#2
0
        public void Can_deserialsie_mixed_int_and_float_values_to_float()
        {
            var json = "[ [12345, 1.4, 3], [12346, 5, 78.9] ]";

            var reader = new JsonTextReader(new StringReader(json));

            reader.Read();
            var converter = new PointJsonConverter();
            var clone     = (IList)converter.ReadJson(reader, typeof(IList <Point <(float, double)> >), null, JsonSerializer.CreateDefault());

            clone.Count.ShouldBe(2);
        }
示例#3
0
        public void Can_round_trip(object points)
        {
            var converter = new PointJsonConverter();

            var stringBuilder = new StringBuilder();

            var writer = new JsonTextWriter(new StringWriter(stringBuilder));

            converter.WriteJson(writer, points, JsonSerializer.CreateDefault());

            var reader = new JsonTextReader(new StringReader(stringBuilder.ToString()));

            reader.Read();
            var clone = converter.ReadJson(reader, points.GetType(), null, JsonSerializer.CreateDefault());

            clone.ShouldBe(points);
        }
示例#4
0
        public void Can_convert_point(object points)
        {
            var converter = new PointJsonConverter();

            converter.CanConvert(points.GetType()).ShouldBe(true);
        }