public void Write() { // Arrange var value = new[] { new KeyValuePair <string, long>("metric1", 1), new KeyValuePair <string, long>("metric2", 2) }; var ms = new MemoryStream(); var jsonWriter = new Utf8JsonWriter(ms); var options = new JsonSerializerOptions(); var converter = new MetricsConverter(); // Act converter.Write(jsonWriter, value, options); jsonWriter.Flush(); ms.Position = 0; var sr = new StreamReader(ms); var result = sr.ReadToEnd(); // Assert result.ShouldBe("{\"metric1\":1,\"metric2\":2}"); }
public void Read() { // Arrange var json = "{\"metric1\":1,\"metric2\":2}"; var textReader = new StringReader(json); var jsonReader = new JsonTextReader(textReader); var objectType = (Type)null; var existingValue = (object)null; var serializer = new JsonSerializer(); var converter = new MetricsConverter(); // Act jsonReader.Read(); var result = converter.ReadJson(jsonReader, objectType, existingValue, serializer); // Assert result.ShouldNotBeNull(); result.ShouldBeOfType <KeyValuePair <string, long>[]>(); var resultAsArray = (KeyValuePair <string, long>[])result; resultAsArray.Length.ShouldBe(2); resultAsArray[0].Key.ShouldBe("metric1"); resultAsArray[0].Value.ShouldBe(1); resultAsArray[1].Key.ShouldBe("metric2"); resultAsArray[1].Value.ShouldBe(2); }
public void CanConvert(Type typeToConvert, bool expected) { // Arrange var converter = new MetricsConverter(); // Assert converter.CanConvert(typeToConvert).ShouldBe(expected); }
public void CanConvert() { // Act var converter = new MetricsConverter(); var type = (Type)null; // Assert converter.CanConvert(type).ShouldBeTrue(); }
public void Properties() { // Act var converter = new MetricsConverter(); // Assert converter.CanRead.ShouldBeTrue(); converter.CanWrite.ShouldBeFalse(); }
public void Write() { // Arrange var sb = new StringBuilder(); var sw = new StringWriter(sb); var writer = new JsonTextWriter(sw); var value = (object)null; var serializer = new JsonSerializer(); var converter = new MetricsConverter(); // Act Should.Throw <NotImplementedException>(() => converter.WriteJson(writer, value, serializer)); }
public void Read() { // Arrange var json = "{\"metric1\":1,\"metric2\":2}"; var jsonUtf8 = (ReadOnlySpan <byte>)Encoding.UTF8.GetBytes(json); var jsonReader = new Utf8JsonReader(jsonUtf8); var objectType = (Type)null; var options = new JsonSerializerOptions(); var converter = new MetricsConverter(); // Act jsonReader.Read(); var result = converter.Read(ref jsonReader, objectType, options); // Assert result.ShouldNotBeNull(); result.Length.ShouldBe(2); result[0].Key.ShouldBe("metric1"); result[0].Value.ShouldBe(1); result[1].Key.ShouldBe("metric2"); result[1].Value.ShouldBe(2); }