public static void FlexibleEnumJsonConverter_Should_Parser_String_Value()
        {
            // arrange
            var    converter = new FlexibleEnumJsonConverter();
            string json      = "{ \"myEnum\" : \"value1\", \"myEnumNullable\" : \"value2\", \"SomeString\" : \"test\" }";


            // act
            var obj = JsonConvert.DeserializeObject <TestEnumClass>(json, converter);

            // assert
            Assert.NotNull(obj);
            Assert.Equal(TestEnum.Value1, obj.MyEnum);
            Assert.Equal(TestEnum.Value2, obj.MyEnumNullable.Value);
        }
        public static void FlexibleEnumJsonConverter_Should_Parser_Invalid_Int_Value_Without_Undefined()
        {
            // arrange
            var    converter = new FlexibleEnumJsonConverter();
            string json      = "{ \"myEnum\" : 7, \"myEnumNullable\" : 5, \"SomeString\" : \"test\" }";


            // act
            var obj = JsonConvert.DeserializeObject <TestEnumClass2>(json, converter);

            // assert
            Assert.NotNull(obj);
            Assert.Equal(TestEnum2.Value1, obj.MyEnum);
            Assert.False(obj.MyEnumNullable.HasValue);
        }