Esempio n. 1
0
        public void CreateComplexList_ReturnExpressionAsString()
        {
            var values = new MyList2
            {
                MyProp = 100
            };

            values.Add(new StringBuilder("value1"));
            values.Add(new StringBuilder("value2"));

            var expression = values.AsExpression();
            var result = expression.DefaultSerializer.Serialize();
            var expected = $"\"{values.GetType().Name}.{values.GetHashCode()}\" + \"[0].{values[0].GetHashCode()}\" + \"[1].{values[1].GetHashCode()}\" + \"MyProp: 100\" + \"Capacity: 4\" + \"Count: 2\"";
            Assert.Equal(6, expression.Count);
            Assert.IsType<ComplexEntity>(expression[0]);
            Assert.IsType<CollectionItemEntity>(expression[1]);
            Assert.IsType<CollectionItemEntity>(expression[2]);
            Assert.IsType<PropertyEntity>(expression[3]);
            Assert.IsType<PropertyEntity>(expression[4]);
            Assert.IsType<PropertyEntity>(expression[5]);
            Assert.Equal(expected, result);
        }