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