public void CanConvertOnlyWhenTypeIsBoolean() { BooleanJsonConverter converter = new BooleanJsonConverter(); Assert.False(converter.CanConvert(typeof(int))); Assert.False(converter.CanConvert(typeof(string))); Assert.True(converter.CanConvert(typeof(bool))); }
public void CanConvert() { // Arrange var converter = new BooleanJsonConverter(); // Act var result = converter.CanConvert(typeof(bool)); // Assert Assert.True(result); }
public void Write(bool value, string expectedResult) { // Arrange var options = new JsonSerializerOptions(); using var stream = new MemoryStream(); using var writer = new Utf8JsonWriter(stream); var converter = new BooleanJsonConverter(); writer.WriteStartObject(); writer.WritePropertyName("test"); // Act converter.Write(writer, value, options); // Assert writer.WriteEndObject(); writer.Flush(); var result = Encoding.UTF8.GetString(stream.ToArray()); Assert.Equal(expectedResult, result); }
public void Read(string value, bool expectedResult) { // Arrange var options = new JsonSerializerOptions(); var jsonUtf8Bytes = System.Text.Json.JsonSerializer.SerializeToUtf8Bytes(value, options); var reader = new Utf8JsonReader(jsonUtf8Bytes); var converter = new BooleanJsonConverter(); while (reader.Read()) { if (reader.TokenType == JsonTokenType.String) { break; } } // Act var result = converter.Read(ref reader, typeof(bool), options); // Assert Assert.Equal(expectedResult, result); }