public void StructTest() { var getter = ModelAccess <MyStruct> .GetGetter(x => x.PropTwo).GetDelegate <int>(); var setter = ModelAccess <MyStruct> .GetSetter(x => x.PropTwo).GetDelegate <int>(); MyStruct instance = new MyStruct(); setter(ref instance, 3); var value = getter(ref instance); Assert.Equal(3, value); }
public void GetGettersByName() { var names = ModelAccess <GrandChildClass> .Getters .Keys .ToList(); Assert.Equal(31, names.Count); foreach (var name in names) { var getter = ModelAccess <GrandChildClass> .GetGetter(name); Assert.NotNull(getter); } }
public void GetGettersByName_CaseInsensitive() { var names = ModelAccess <GrandChildClass> .Getters .Keys .Select(x => x.ToUpperInvariant()) .ToList(); Assert.Equal(31, names.Count); foreach (var name in names) { var getter = ModelAccess <GrandChildClass> .GetGetter(name); Assert.NotNull(getter); } }
public void GetSetterByExpression() { var setter = ModelAccess <GrandChildClass> .GetSetter(x => x.Child_PublicField); Assert.NotNull(setter); }