예제 #1
0
        public void ExpressionCreation()
        {
            var accessor = ReflectionHelper.GetAccessor<Target[]>(x => x[1]);

            var target = new[] {new Target(), new Target() };
            accessor.ToExpression<Target[]>().Compile()(target).ShouldEqual(target[1]);
        }
예제 #2
0
        public void GetValueFromArray()
        {
            var accessor = ReflectionHelper.GetAccessor<Target[]>(x => x[1]);

            var target = new[] {new Target(), new Target() };

            accessor.GetValue(target).ShouldEqual(target[1]);
            accessor.GetValue(target).ShouldNotEqual(target[0]);
        }
예제 #3
0
        public void SetValueOnArray()
        {
            var accessor = ReflectionHelper.GetAccessor<Target[]>(x => x[1]);

            var original = new Target();
            var replacement = new Target();
            var target = new[] {new Target(), original };

            accessor.SetValue(target, replacement);
            target[1].ShouldNotEqual(original);
            target[1].ShouldEqual(replacement);
        }