public void DeserializeNegativeFlagsEnum()
        {
            string json = @"{
  ""Value1"": ""NegativeFour,NegativeTwo"",
  ""Value2"": ""NegativeFour,Four""
}";

            NegativeFlagsEnumClass negativeEnumClass = JsonConvert.DeserializeObject <NegativeFlagsEnumClass>(json, new StringEnumConverter());

            Assert.AreEqual(NegativeFlagsEnum.NegativeFour | NegativeFlagsEnum.NegativeTwo, negativeEnumClass.Value1);
            Assert.AreEqual(NegativeFlagsEnum.NegativeFour | NegativeFlagsEnum.Four, negativeEnumClass.Value2);
        }
        public void SerializeNegativeFlagsEnum()
        {
            NegativeFlagsEnumClass negativeEnumClass = new NegativeFlagsEnumClass();

            negativeEnumClass.Value1 = NegativeFlagsEnum.NegativeFour | NegativeFlagsEnum.NegativeTwo;
            negativeEnumClass.Value2 = NegativeFlagsEnum.Two | NegativeFlagsEnum.Four;

            string json = JsonConvert.SerializeObject(negativeEnumClass, Formatting.Indented, new StringEnumConverter());

            StringAssert.AreEqual(@"{
  ""Value1"": ""NegativeTwo"",
  ""Value2"": ""Two, Four""
}", json);
        }