コード例 #1
0
        public void VisitAndConvertSameResultAsVisit()
        {
            ConstantExpression constant = Expression.Constant(0);
            ConstantExpression visited  = new ConstantRefreshingVisitor().VisitAndConvert(constant, "");

            Assert.NotSame(constant, visited);
            Assert.Equal(0, visited.Value);
        }
コード例 #2
0
        public void VisitCollectionDifferOnFirst()
        {
            string value = new string(new[] { 'a', 'b', 'c' });
            ReadOnlyCollection <Expression> collection = new List <Expression> {
                Expression.Constant(value)
            }.AsReadOnly();
            ReadOnlyCollection <Expression> visited = new ConstantRefreshingVisitor().Visit(collection);

            Assert.NotSame(collection, visited);
            Assert.NotSame(collection[0], visited[0]);
            Assert.Same(value, ((ConstantExpression)visited[0]).Value);
        }
コード例 #3
0
ファイル: VisitorTests.cs プロジェクト: ChuangYang/corefx
 public void VisitAndConvertSameResultAsVisit()
 {
     var constant = Expression.Constant(0);
     var visited = new ConstantRefreshingVisitor().VisitAndConvert(constant, "");
     Assert.NotSame(constant, visited);
     Assert.Equal(0, visited.Value);
 }
コード例 #4
0
ファイル: VisitorTests.cs プロジェクト: ChuangYang/corefx
 public void VisitCollectionDifferOnLater()
 {
     string value = new string(new[] { 'a', 'b', 'c' });
     var collection = new List<Expression> { Expression.Empty(), Expression.Constant(value) }.AsReadOnly();
     var visited = new ConstantRefreshingVisitor().Visit(collection);
     Assert.NotSame(collection, visited);
     Assert.Same(collection[0], visited[0]);
     Assert.NotSame(collection[1], visited[1]);
     Assert.Same(value, ((ConstantExpression)visited[1]).Value);
 }