public void EdmIsTypeExpression() { var e = new EdmIsTypeExpression(new EdmStringConstant("qwerty"), EdmCoreModel.Instance.GetBoolean(false)); Assert.AreEqual(EdmExpressionKind.IsType, 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 EdmIsTypeExpression(null, EdmCoreModel.Instance.GetBoolean(false)); Assert.Fail("exception expected"); } catch (ArgumentNullException) { } try { new EdmIsTypeExpression(new EdmStringConstant("qwerty"), null); Assert.Fail("exception expected"); } catch (ArgumentNullException) { } var ee = new MutableIsTypeExpression(); Assert.IsNull(ee.Operand, "ee.Operand"); Assert.IsNull(ee.Type, "ee.Type"); Assert.IsTrue(ee.IsBad(), "Expression is bad."); Assert.AreEqual(2, ee.Errors().Count(), "Expression has no errors"); }