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); }
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); }
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); }
public void Can_convert_point(object points) { var converter = new PointJsonConverter(); converter.CanConvert(points.GetType()).ShouldBe(true); }