Exemplo n.º 1
0
 public void EvaluateEnumReferenceExpression()
 {
     var color = new EdmEnumType("Ns", "Color", true);
     var blue = color.AddMember("Blue", new EdmIntegerConstant(1));
     color.AddMember("White", new EdmIntegerConstant(2));
     var enumReferenceExpression = new EdmEnumMemberReferenceExpression(blue);
     EdmExpressionEvaluator evaluator = new EdmExpressionEvaluator(null);
     var value = evaluator.Evaluate(enumReferenceExpression) as IEdmEnumValue;
     value.Type.Definition.Should().Be(color);
     value.Value.As<EdmIntegerConstant>().Value.Should().Be(1);
 }
Exemplo n.º 2
0
        public static void SetConformanceLevelCapabilitiesAnnotation(this EdmModel model, IEdmEntityContainer container, CapabilitiesConformanceLevelType level)
        {
            if (model == null) throw new ArgumentNullException("model");
            if (container == null) throw new ArgumentNullException("container");

            var target = container;
            var term = ConformanceLevelTerm;
            var name = new EdmEnumTypeReference(ConformanceLevelTypeType, false).ToStringLiteral((long)level);
            var expression = new EdmEnumMemberReferenceExpression(ConformanceLevelTypeType.Members.Single(m => m.Name == name));
            var annotation = new EdmAnnotation(target, term, expression);
            annotation.SetSerializationLocation(model, container.ToSerializationLocation());
            model.AddVocabularyAnnotation(annotation);
        }
        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");
        }