예제 #1
0
        public void CanConvertTests(Type requestedType, bool expectedResult)
        {
            // Arrange
            var target = new ApiResourcePathSegmentConverter();

            // Act
            var result = target.CanConvert(requestedType);

            // Assert
            Assert.Equal(expectedResult, result);
        }
예제 #2
0
        public void WriteTests()
        {
            // Arrange
            var input = new ApiResourcePathSegment.PrefixedVar
            {
                Prefix = "foo",
                Name   = "bar"
            };
            var target = new ApiResourcePathSegmentConverter();

            // Act
            using var memoryStream = new MemoryStream();
            var writer = new Utf8JsonWriter(memoryStream);

            target.Write(writer, input, new JsonSerializerOptions());
            writer.Flush();
            memoryStream.Position = 0;

            using var reader = new StreamReader(memoryStream);
            var result = reader.ReadToEnd();

            // Assert
            Assert.Equal("{\"prefix\":\"foo\",\"name\":\"bar\",\"className\":\"HA_PathSegment.PrefixedVar\"}", result);
        }
예제 #3
0
        public void ReadKnownValuesTests()
        {
            // Arrange
            var json   = "{\"className\":\"HA_PathSegment.PrefixedVar\",\"prefix\":\"foo\",\"name\":\"bar\"}";
            var target = new ApiResourcePathSegmentConverter();

            // Act
            ApiResourcePathSegment?result = null;
            var utf8JsonBytes             = Encoding.UTF8.GetBytes(json);
            var reader = new Utf8JsonReader(utf8JsonBytes, true, new JsonReaderState());

            while (reader.Read())
            {
                result = target.Read(ref reader, typeof(ApiResourcePathSegment), new JsonSerializerOptions());
            }

            // Assert
            Assert.IsType <ApiResourcePathSegment.PrefixedVar>(result);

            var prefixedVarResult = result as ApiResourcePathSegment.PrefixedVar;

            Assert.Equal("foo", prefixedVarResult?.Prefix);
            Assert.Equal("bar", prefixedVarResult?.Name);
        }