public void EdmCastExpression() { var e = new EdmCastExpression(new EdmStringConstant("qwerty"), EdmCoreModel.Instance.GetBoolean(false)); Assert.AreEqual(EdmExpressionKind.Cast, e.ExpressionKind, "e.ExpressionKind"); Assert.AreEqual("qwerty", ((IEdmStringValue)e.Operand).Value, "((IEdmStringValue)e.Operand).Value"); Assert.AreEqual("Edm.Boolean", e.Type.FullName(), "e.Type.FullName()"); Assert.IsFalse(e.IsBad(), "e good"); try { new EdmCastExpression(null, EdmCoreModel.Instance.GetBoolean(false)); Assert.Fail("exception expected."); } catch (ArgumentNullException) { } try { new EdmCastExpression(new EdmStringConstant("qwerty"), null); Assert.Fail("exception expected."); } catch (ArgumentNullException) { } var ee = new MutableCastExpression(); Assert.IsTrue(ee.IsBad(), "Expression is bad."); Assert.AreEqual(2, ee.Errors().Count(), "Expression has 2 errors"); }