public void EdmEnumMemberReferenceExpression()
        {
            var et = new EdmEnumType("NS", "Spicy");
            var em = new EdmEnumMember(et, "Hot", new EdmIntegerConstant(5));
            var e  = new EdmEnumMemberReferenceExpression(em);

            Assert.AreEqual(EdmExpressionKind.EnumMemberReference, e.ExpressionKind, "e.ExpressionKind");
            Assert.AreEqual("Hot", e.ReferencedEnumMember.Name, "e.ReferencedEnumMember");
            Assert.IsFalse(e.IsBad(), "e good");

            this.VerifyThrowsException(typeof(ArgumentNullException), () => new EdmEnumMemberReferenceExpression(null));

            var ee = new MutableEdmEnumMemberReferenceExpression();

            Assert.IsNull(ee.ReferencedEnumMember, "e.ReferencedEntitySet");
            Assert.IsTrue(ee.IsBad(), "Expression is bad.");
            Assert.AreEqual(1, ee.Errors().Count(), "Expression has errors");
        }
        public void EdmEnumMemberReferenceExpression()
        {
            var et = new EdmEnumType("NS", "Spicy");
            var em = new EdmEnumMember(et, "Hot", new EdmIntegerConstant(5));
            var e = new EdmEnumMemberReferenceExpression(em);
            Assert.AreEqual(EdmExpressionKind.EnumMemberReference, e.ExpressionKind, "e.ExpressionKind");
            Assert.AreEqual("Hot", e.ReferencedEnumMember.Name, "e.ReferencedEnumMember");
            Assert.IsFalse(e.IsBad(), "e good");

            this.VerifyThrowsException(typeof(ArgumentNullException), () => new EdmEnumMemberReferenceExpression(null));

            var ee = new MutableEdmEnumMemberReferenceExpression();
            Assert.IsNull(ee.ReferencedEnumMember, "e.ReferencedEntitySet");
            Assert.IsTrue(ee.IsBad(), "Expression is bad.");
            Assert.AreEqual(1, ee.Errors().Count(), "Expression has errors");
        }