Пример #1
0
        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}");
        }
Пример #2
0
        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);
        }
Пример #3
0
        public void CanConvert(Type typeToConvert, bool expected)
        {
            // Arrange
            var converter = new MetricsConverter();

            // Assert
            converter.CanConvert(typeToConvert).ShouldBe(expected);
        }
Пример #4
0
        public void CanConvert()
        {
            // Act
            var converter = new MetricsConverter();
            var type      = (Type)null;

            // Assert
            converter.CanConvert(type).ShouldBeTrue();
        }
Пример #5
0
        public void Properties()
        {
            // Act
            var converter = new MetricsConverter();

            // Assert
            converter.CanRead.ShouldBeTrue();
            converter.CanWrite.ShouldBeFalse();
        }
Пример #6
0
        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));
        }
Пример #7
0
        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);
        }