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

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

            // Assert
            Assert.Equal(expectedResult, result);
        }
Beispiel #2
0
        public void WriteTests()
        {
            // Arrange
            var input = new ApiFieldType.Primitive
            {
                Type     = "String",
                Nullable = true
            };
            var target = new ApiFieldTypeConverter();

            // 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("{\"primitive\":\"String\",\"className\":\"HA_Type.Primitive\",\"nullable\":true}", result);
        }
Beispiel #3
0
        public void ReadKnownValuesTests()
        {
            // Arrange
            var json   = "{\"className\":\"HA_Type.Primitive\",\"primitive\":\"String\",\"nullable\":true}";
            var target = new ApiFieldTypeConverter();

            // Act
            ApiFieldType?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(ApiFieldType), new JsonSerializerOptions());
            }

            // Assert
            Assert.IsType <ApiFieldType.Primitive>(result);

            var primitiveResult = result as ApiFieldType.Primitive;

            Assert.Equal("String", primitiveResult?.Type);
            Assert.True(primitiveResult?.Nullable);
        }