public void ParseEnumFlags()
 {
     var enumType = new EdmEnumType()
     {
         Name = "Namespace.Color", 
         IsFlags = true,
         Members = new[]
         {
             new EdmEnumMember { Name = "Black", EvaluatedValue = 1},
             new EdmEnumMember { Name = "White", EvaluatedValue = 2},
         }
     };
     var propertyType = new EdmEnumPropertyType() { Type = enumType };
     Assert.Equal(3, _parser.ParseValue("Namespace.Color'Black,White'", propertyType));
 }
 public void ParseEnumInvalid()
 {
     var enumType = new EdmEnumType()
     {
         Name = "Namespace.Color",
         Members = new[]
         {
             new EdmEnumMember { Name = "Black", EvaluatedValue = 0},
             new EdmEnumMember { Name = "White", EvaluatedValue = 1},
         }
     };
     var propertyType = new EdmEnumPropertyType() { Type = enumType };
     Assert.Throws<FormatException>(() => _parser.ParseValue("Namespace.Color'None'", propertyType));
 }
 public void ParseEnumLong()
 {
     var enumType = new EdmEnumType()
     {
         Name = "Namespace.Color",
         UnderlyingType = "Edm.Int64",
         Members = new[]
         {
             new EdmEnumMember { Name = "Black", EvaluatedValue = 0},
             new EdmEnumMember { Name = "White", EvaluatedValue = 1},
         }
     };
     var propertyType = new EdmEnumPropertyType() { Type = enumType };
     Assert.Equal(1L, _parser.ParseValue("Namespace.Color'White'", propertyType));
 }