コード例 #1
0
        public void Read_EmptyString_ShouldReturnDBNull()
        {
            var options   = new JsonSerializerOptions();
            var converter = new DBNullConverter();

            var json   = "\"\"";
            var reader = new Utf8JsonReader(Encoding.UTF8.GetBytes(json).AsSpan());

            reader.Read();
            var actual = converter.Read(ref reader, typeof(DBNull), options);

            Assert.Null(actual);
        }
コード例 #2
0
        public void Read_Zero_ShouldThrowJsonException()
        {
            var options   = new JsonSerializerOptions();
            var converter = new DBNullConverter();

            var json = "0";

            Assert.Throws <JsonException>(() =>
            {
                var reader = new Utf8JsonReader(Encoding.UTF8.GetBytes(json).AsSpan());
                reader.Read();
                converter.Read(ref reader, typeof(DBNull), options);
            });
        }
コード例 #3
0
        public void Write_DBNull_ShouldReturnNullValue()
        {
            var options   = new JsonSerializerOptions();
            var converter = new DBNullConverter();

            MemoryStream memoryStream;

            using (memoryStream = new MemoryStream())
                using (var writer = new Utf8JsonWriter(memoryStream))
                {
                    converter.Write(writer, DBNull.Value, options);
                }
            var actual = Encoding.UTF8.GetString(memoryStream.ToArray());

            Assert.Equal("null", actual);
        }
コード例 #4
0
        public void Write_Null_ShouldReturnNullValue()
        {
            var options   = new JsonSerializerOptions();
            var converter = new DBNullConverter();

            MemoryStream memoryStream;

            using (memoryStream = new MemoryStream())
                using (var writer = new Utf8JsonWriter(memoryStream))
                {
#pragma warning disable CS8625 // Cannot convert null literal to non-nullable reference type.
                    converter.Write(writer, null, options);
#pragma warning restore CS8625 // Cannot convert null literal to non-nullable reference type.
                }
            var actual = Encoding.UTF8.GetString(memoryStream.ToArray());

            Assert.Equal("null", actual);
        }
コード例 #5
0
        public void CanConvert_String_ShouldReturnFalse()
        {
            var converter = new DBNullConverter();

            Assert.False(converter.CanConvert(typeof(string)));
        }
コード例 #6
0
        public void CanConvert_DBNull_ShouldReturnTrue()
        {
            var converter = new DBNullConverter();

            Assert.True(converter.CanConvert(typeof(DBNull)));
        }