public void EdmLabeledExpression() { var e = new EdmLabeledExpression("l1", new EdmStringConstant("qwerty")); Assert.AreEqual("l1", e.Name, "e.Label"); Assert.AreEqual("qwerty", ((IEdmStringValue)e.Expression).Value, ((IEdmStringValue)e.Expression).Value); Assert.IsFalse(e.IsBad(), "e good"); try { new EdmLabeledExpression(null, new EdmStringConstant("qwerty")); Assert.Fail("exception expected."); } catch (ArgumentNullException) { } try { new EdmLabeledExpression("l1", null); Assert.Fail("exception expected."); } catch (ArgumentNullException) { } var ee = new MutableLabeledExpression(); Assert.IsNull(ee.Name, "ee.Label"); Assert.IsNull(ee.Expression, "ee.Expression"); Assert.IsTrue(ee.IsBad(), "Expression is bad."); Assert.AreEqual(2, ee.Errors().Count(), "Expression has errors"); }
public void EdmLabeledExpressionReferenceExpressionTest() { var label = new EdmLabeledExpression("Label", new EdmStringConstant("foo")); var e = new EdmLabeledExpressionReferenceExpression(label); Assert.AreEqual(EdmExpressionKind.LabeledExpressionReference, e.ExpressionKind, "e.ExpressionKind"); Assert.AreEqual("Label", e.ReferencedLabeledExpression.Name, "e.ReferencedLabeledExpression"); Assert.IsFalse(e.IsBad(), "e good"); this.VerifyThrowsException(typeof(InvalidOperationException), () => e.ReferencedLabeledExpression = label); e = new EdmLabeledExpressionReferenceExpression(); e.ReferencedLabeledExpression = label; Assert.AreEqual(EdmExpressionKind.LabeledExpressionReference, e.ExpressionKind, "e.ExpressionKind"); Assert.AreEqual("Label", e.ReferencedLabeledExpression.Name, "e.ReferencedLabeledExpression"); Assert.IsFalse(e.IsBad(), "e good"); this.VerifyThrowsException(typeof(InvalidOperationException), () => e.ReferencedLabeledExpression = label); this.VerifyThrowsException(typeof(ArgumentNullException), () => new EdmLabeledExpressionReferenceExpression(null)); var ee = new MutableEdmLabeledExpressionReferenceExpression(); Assert.IsNull(ee.ReferencedLabeledExpression, "e.ReferencedLabeledExpression"); Assert.IsTrue(ee.IsBad(), "Expression is bad."); Assert.AreEqual(1, ee.Errors().Count(), "Expression has errors"); }
public void Add(IEdmExpression expression) { if (!_initialized) { _initialized = true; var entityValidationRoot = new EdmLabeledExpression(Key, new EdmCollectionExpression(ChildExpressions)); Root.ChildExpressions.Add(entityValidationRoot); } ChildExpressions.Add(expression); }