Exemple #1
0
        public void GetComputedPropertyExpressionTest()
        {
            var entityParam = Expression.Parameter(typeof(Sales), "e");
            var mi          = typeof(Sales).GetMethod("DummyString");
            var result      = ApplyImplementationBase.GetComputedPropertyExpression(typeof(Sales), @"Product/Category/Name", entityParam, mi, null, null);

            "after creating expression".Then(() => result.Should().NotBeNull());
            "After creating expression".Then(() => result.ToString().Should().BeEquivalentTo
                                                 ("IIF((e.Product == null), null, new Product() {Category = IIF((e.Product.Category == null), null, new Category() {Name = DummyString(e.Product.Category.Name)})})"));
        }
Exemple #2
0
        public void GetPropertyInfoTest()
        {
            var result = ApplyImplementationBase.GetPropertyInfo(typeof(Sales), @"Product/Category/Name");

            "After creating the property infos".Then(() => result.Count.Should().Be(3));

            "First Expression".Then(() => result[0].Name.Should().BeEquivalentTo("Product"));
            "Second Expression".Then(() => result[1].Name.Should().BeEquivalentTo("Category"));
            "Last Expression".Then(() => result[2].Name.Should().BeEquivalentTo("Name"));
        }
Exemple #3
0
        public void GetProjectionExpressionsTest()
        {
            var entityParam           = Expression.Parameter(typeof(Sales), "e");
            var projectionExpressions = ApplyImplementationBase.GetProjectionExpressions(@"Product/Category/Name", entityParam);

            "After creating a projection expression".Then(() => projectionExpressions.Count.Should().Be(3));

            "First Expression".Then(() => projectionExpressions[0].ToString().Should().BeEquivalentTo("e.Product"));
            "Second Expression".Then(() => projectionExpressions[1].ToString().Should().BeEquivalentTo("e.Product.Category"));
            "Last Expression".Then(() => projectionExpressions[2].ToString().Should().BeEquivalentTo("e.Product.Category.Name"));
        }