Beispiel #1
0
        public void CanConvert_false()
        {
            // Act
            var converter = new SendGridDateTimeConverter();
            var type      = (Type)null;

            // Assert
            converter.CanConvert(type).ShouldBeFalse();
        }
Beispiel #2
0
        public void CanConvert_true()
        {
            // Act
            var converter = new SendGridDateTimeConverter();
            var type      = typeof(DateTime);

            // Assert
            converter.CanConvert(type).ShouldBeTrue();
        }
Beispiel #3
0
        public void Properties()
        {
            // Act
            var converter = new SendGridDateTimeConverter();

            // Assert
            converter.CanRead.ShouldBeTrue();
            converter.CanWrite.ShouldBeTrue();
        }
Beispiel #4
0
        public void Read()
        {
            // Arrange
            var json = "\"2017-03-28 16:19:00\"";

            var jsonUtf8   = (ReadOnlySpan <byte>)Encoding.UTF8.GetBytes(json);
            var jsonReader = new Utf8JsonReader(jsonUtf8);
            var objectType = (Type)null;
            var options    = new JsonSerializerOptions();

            var converter = new SendGridDateTimeConverter();

            // Act
            jsonReader.Read();
            var result = converter.Read(ref jsonReader, objectType, options);

            // Assert
            result.ShouldBe(new DateTime(2017, 3, 28, 16, 19, 0, DateTimeKind.Utc));
        }
Beispiel #5
0
        public void Write()
        {
            // Arrange
            var sb     = new StringBuilder();
            var sw     = new StringWriter(sb);
            var writer = new JsonTextWriter(sw);

            var value      = new DateTime(2017, 3, 28, 16, 19, 0, DateTimeKind.Utc);
            var serializer = new JsonSerializer();

            var converter = new SendGridDateTimeConverter();

            // Act
            converter.WriteJson(writer, value, serializer);
            var result = sb.ToString();

            // Assert
            result.ShouldBe("\"2017-03-28 16:19:00\"");
        }
Beispiel #6
0
        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 SendGridDateTimeConverter();

            // Act
            converter.WriteJson(writer, value, serializer);
            var result = sb.ToString();

            // Assert
            result.ShouldBeEmpty();
        }
Beispiel #7
0
        public void Read_null()
        {
            // 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 SendGridDateTimeConverter();

            // Act
            jsonReader.Read();
            var result = converter.ReadJson(jsonReader, objectType, existingValue, serializer);

            // Assert
            result.ShouldBeNull();
        }
Beispiel #8
0
        public void Write()
        {
            // Arrange
            var value = new DateTime(2017, 3, 28, 16, 19, 0, DateTimeKind.Utc);

            var ms         = new MemoryStream();
            var jsonWriter = new Utf8JsonWriter(ms);
            var options    = new JsonSerializerOptions();

            var converter = new SendGridDateTimeConverter();

            // Act
            converter.Write(jsonWriter, value, options);
            jsonWriter.Flush();

            ms.Position = 0;
            var sr     = new StreamReader(ms);
            var result = sr.ReadToEnd();

            // Assert
            result.ShouldBe("\"2017-03-28 16:19:00\"");
        }
Beispiel #9
0
        public void Read()
        {
            // Arrange
            var json = "\"2017-03-28 16:19:00\"";

            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 SendGridDateTimeConverter();

            // Act
            jsonReader.Read();
            var result = converter.ReadJson(jsonReader, objectType, existingValue, serializer);

            // Assert
            result.ShouldNotBeNull();
            result.ShouldBeOfType <DateTime>();
            ((DateTime)result).ShouldBe(new DateTime(2017, 3, 28, 16, 19, 0, DateTimeKind.Utc));
        }