public void EdmCollectionExpression()
        {
            var e = new EdmCollectionExpression(
                new EdmLabeledExpression("l1", new EdmStringConstant("qwerty")),
                new EdmLabeledExpression("l2", new EdmStringConstant("qwerty2")));

            Assert.IsFalse(e.IsBad(), "Expression not bad.");
            Assert.AreEqual(EdmExpressionKind.Collection, e.ExpressionKind, "e.ExpressionKind");
            Assert.AreEqual(2, e.Elements.Count(), "e.Elements.Count()");
            Assert.AreEqual("l2", ((EdmLabeledExpression)e.Elements.ElementAt(1)).Name, "((EdmLabeledElement)e.Elements.ElementAt(1)).Label");
            var l1 = e.Elements.First();

            e = new EdmCollectionExpression();
            Assert.IsNull(e.DeclaredType, "e.DeclaredType");
            Assert.AreEqual(0, e.Elements.Count(), "e.Elements.Count()");
            Assert.IsFalse(e.IsBad(), "Expression not bad.");
            Assert.AreEqual(0, e.Errors().Count(), "Expression has no errors");

            try
            {
                new EdmCollectionExpression((IEdmLabeledExpression[])null);
                Assert.Fail("exception expected");
            }
            catch (ArgumentNullException)
            {
            }
        }