Example #1
0
        public void ProjectionWithIEnumerable()
        {
            var expression = new SpelExpressionParser().ParseRaw("#testList.![Wrapper.Value]");
            var context    = new StandardEvaluationContext();

            context.SetVariable("testList", IntegerTestBean.CreateIterable());
            var value     = expression.GetValue(context);
            var condition = value is List <object>;

            Assert.True(condition);
            var list = (List <object>)value;

            Assert.Equal(3, list.Count);
            Assert.Equal(5, list[0]);
            Assert.Equal(6, list[1]);
            Assert.Equal(7, list[2]);
        }
Example #2
0
            public static IntegerTestBean[] CreateArray()
            {
                var array = new IntegerTestBean[3];

                for (var i = 0; i < 3; i++)
                {
                    if (i == 1)
                    {
                        array[i] = new IntegerTestBean(5.9f);
                    }
                    else
                    {
                        array[i] = new IntegerTestBean(i + 5);
                    }
                }

                return(array);
            }
Example #3
0
        public void ProjectionWithArray()
        {
            var expression = new SpelExpressionParser().ParseRaw("#testArray.![Wrapper.Value]");
            var context    = new StandardEvaluationContext();

            context.SetVariable("testArray", IntegerTestBean.CreateArray());
            var value = expression.GetValue(context);

            Assert.True(value.GetType().IsArray);
            var typedValue = new TypedValue(value);

            Assert.Equal(typeof(ValueType), typedValue.TypeDescriptor.GetElementType());
            var array = (ValueType[])value;

            Assert.Equal(3, array.Length);
            Assert.Equal(5, array[0]);
            Assert.Equal(5.9f, array[1]);
            Assert.Equal(7, array[2]);
        }