Exemplo n.º 1
0
        public void Should_CreatePath_BasicExpression()
        {
            var manager     = new ExpressionManager();
            var expressions = CreateExpressions <ComplexObject>(x => x.Id);
            var paths       = expressions.Select(x => manager.GetPropertyPath(x)).ToList();

            CollectionAssert.AreEqual(new[] { ".Id" }, paths);
        }
Exemplo n.º 2
0
        public void Should_CreatePath_WithChildrenFirst()
        {
            var manager     = new ExpressionManager();
            var expressions = CreateExpressions <ComplexObjectWithListChildren>(
                x => x.Children.First().BasicChild.BasicChildId
                );
            var paths = expressions.Select(x => manager.GetPropertyPath(x)).ToList();

            CollectionAssert.AreEqual(new[] { ".Children.BasicChild.BasicChildId" }, paths);
        }
Exemplo n.º 3
0
        public void Should_CreatePath_WithChildrenRoot()
        {
            var manager     = new ExpressionManager();
            var expressions = CreateExpressions <ComplexObjectWithListChildren>(
                x => x.Id,
                x => x.Name,
                x => x.Children
                );
            var paths = expressions.Select(x => manager.GetPropertyPath(x)).ToList();

            CollectionAssert.AreEqual(new[] { ".Id", ".Name", ".Children" }, paths);
        }
Exemplo n.º 4
0
        public void Should_IncludeOnly_DeepPath()
        {
            var manager     = new ExpressionManager();
            var expressions = CreateExpressions <DeepObject>(
                x => x.DeepChildObject.DeepChild2Object.DeepChild3Object.Name
                );

            var paths = expressions.Select(x => manager.GetPropertyPath(x)).ToList();

            CollectionAssert.AreEqual(new[] {
                ".DeepChildObject.DeepChild2Object.DeepChild3Object.Name"
            }, paths);
        }
Exemplo n.º 5
0
        public void Should_CreatePath_WithDeepSubselect()
        {
            var manager     = new ExpressionManager();
            var expressions = CreateExpressions <ComplexObjectWithListChildren>(
                x => x.Id,
                x => x.Name,
                x => x.Children.Select(y => y.BasicChild.BasicChildId),
                x => x.BasicChild.Children.Select(y => y.BasicChildId),
                x => x.BasicChild.Children.Select(y => y.Children.Select(z => z.BasicChildName))
                );
            var paths = expressions.Select(x => manager.GetPropertyPath(x)).ToList();

            CollectionAssert.AreEqual(new[] {
                ".Id",
                ".Name",
                ".Children.BasicChild.BasicChildId",
                ".BasicChild.Children.BasicChildId",
                ".BasicChild.Children.Children.BasicChildName"
            }, paths);
        }