public void ReadKnownValuesTests()
        {
            // Arrange
            var inputs = new Dictionary <string, SampleEnumeration>
            {
                { "\"Value1\"", SampleEnumeration.Value1 },
                { "\"valuE1\"", SampleEnumeration.Value1 },
                { "\"Value2\"", SampleEnumeration.Value2 },
                { "\"value2\"", SampleEnumeration.Value2 },
                { "\"Value3\"", SampleEnumeration.Value3 },
                { "\"value3\"", SampleEnumeration.Value3 }
            };

            var target = new EnumerationConverter();

            // Act & Assert
            foreach (var(json, expectedResult) in inputs)
            {
                Enumeration?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(SampleEnumeration), new JsonSerializerOptions());
                }

                Assert.Equal(expectedResult, result);
            }
        }
        public void ReadUnknownValuesTests()
        {
            // Arrange
            var target = new EnumerationConverter();

            // Act
            Enumeration?result = null;

            var utf8JsonBytes = Encoding.UTF8.GetBytes("\"UNKNOWN_VALUE\"");
            var reader        = new Utf8JsonReader(utf8JsonBytes, true, new JsonReaderState());

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

            // Assert
            Assert.Null(result);
        }