public void Read() { // Arrange var json = "{ \"some_value\": \"QWERTY\", \"another_value\": \"ABC_123\" }"; var jsonUtf8 = (ReadOnlySpan <byte>)Encoding.UTF8.GetBytes(json); var jsonReader = new Utf8JsonReader(jsonUtf8); var objectType = (Type)null; var options = new JsonSerializerOptions(); var converter = new KeyValuePairEnumerationConverter(); // Act jsonReader.Read(); var result = converter.Read(ref jsonReader, objectType, options); // Assert result.ShouldNotBeNull(); result.ShouldBeOfType <KeyValuePair <string, string>[]>(); var resultAsArray = (KeyValuePair <string, string>[])result; resultAsArray.Length.ShouldBe(2); resultAsArray[0].Key.ShouldBe("some_value"); resultAsArray[0].Value.ShouldBe("QWERTY"); resultAsArray[1].Key.ShouldBe("another_value"); resultAsArray[1].Value.ShouldBe("ABC_123"); }
public void Write() { // Arrange var value = new[] { new KeyValuePair <string, string>("key1", "value1"), new KeyValuePair <string, string>("key2", "value2") }; var ms = new MemoryStream(); var jsonWriter = new Utf8JsonWriter(ms); var options = new JsonSerializerOptions(); var converter = new KeyValuePairEnumerationConverter(); // Act converter.Write(jsonWriter, value, options); jsonWriter.Flush(); ms.Position = 0; var sr = new StreamReader(ms); var result = sr.ReadToEnd(); // Assert result.ShouldBe("{\"key1\":\"value1\",\"key2\":\"value2\"}"); }
public void Read() { // Arrange var json = "{ \"some_value\": \"QWERTY\", \"another_value\": \"ABC_123\" }"; var textReader = new StringReader(json); var jsonReader = new JsonTextReader(textReader); var objectType = typeof(KeyValuePair <string, string>[]); var existingValue = (object)null; var serializer = new JsonSerializer(); var converter = new KeyValuePairEnumerationConverter(); // Act jsonReader.Read(); var result = converter.ReadJson(jsonReader, objectType, existingValue, serializer); // Assert result.ShouldNotBeNull(); result.ShouldBeOfType <KeyValuePair <string, string>[]>(); var resultAsArray = (KeyValuePair <string, string>[])result; resultAsArray.Length.ShouldBe(2); resultAsArray[0].Key.ShouldBe("some_value"); resultAsArray[0].Value.ShouldBe("QWERTY"); resultAsArray[1].Key.ShouldBe("another_value"); resultAsArray[1].Value.ShouldBe("ABC_123"); }
public void CanConvert_true() { // Act var converter = new KeyValuePairEnumerationConverter(); var type = typeof(KeyValuePair <string, string>[]); // Assert converter.CanConvert(type).ShouldBeTrue(); }
public void Properties() { // Act var converter = new KeyValuePairEnumerationConverter(); // Assert converter.CanRead.ShouldBeFalse(); converter.CanWrite.ShouldBeTrue(); }
public void Read() { // Arrange var json = ""; 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 KeyValuePairEnumerationConverter(); // Act jsonReader.Read(); Should.Throw <NotImplementedException>(() => converter.ReadJson(jsonReader, objectType, existingValue, serializer)); }
public void Write_null() { // 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 KeyValuePairEnumerationConverter(); // Act converter.WriteJson(writer, value, serializer); var result = sb.ToString(); // Assert result.ShouldBeEmpty(); }
public void Write_null() { // Arrange var value = (KeyValuePair <string, string>[])null; var ms = new MemoryStream(); var jsonWriter = new Utf8JsonWriter(ms); var options = new JsonSerializerOptions(); var converter = new KeyValuePairEnumerationConverter(); // Act converter.Write(jsonWriter, value, options); jsonWriter.Flush(); ms.Position = 0; var sr = new StreamReader(ms); var result = sr.ReadToEnd(); // Assert result.ShouldBeEmpty(); }
public void Write() { // Arrange var sb = new StringBuilder(); var sw = new StringWriter(sb); var writer = new JsonTextWriter(sw); var value = new[] { new KeyValuePair <string, string>("key1", "value1"), new KeyValuePair <string, string>("key2", "value2") }; var serializer = new JsonSerializer(); var converter = new KeyValuePairEnumerationConverter(); // Act converter.WriteJson(writer, value, serializer); var result = sb.ToString(); // Assert result.ShouldBe("{\"key1\":\"value1\",\"key2\":\"value2\"}"); }