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]); }
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); }
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]); }