public void RegisterByTypeIgnoresPrivateMembers() { var strategy = new DefaultMemberAccessStrategy(); strategy.Register <Class1>(); Assert.Null(strategy.GetAccessor(typeof(Class1), nameof(Class1.PrivateField))); Assert.Null(strategy.GetAccessor(typeof(Class1), nameof(Class1.PrivateProperty))); }
public void RegisterByTypeAddPublicFields() { var strategy = new DefaultMemberAccessStrategy(); strategy.Register <Class1>(); Assert.NotNull(strategy.GetAccessor(typeof(Class1), nameof(Class1.Field1))); Assert.NotNull(strategy.GetAccessor(typeof(Class1), nameof(Class1.Field2))); Assert.Null(strategy.GetAccessor(typeof(Class1), nameof(Class1.PrivateField))); }
public void RegisterByTypeAndExpression() { var strategy = new DefaultMemberAccessStrategy(); strategy.Register <Class1>(x => x.Field1, x => x.Property1); Assert.NotNull(strategy.GetAccessor(typeof(Class1), nameof(Class1.Field1))); Assert.Null(strategy.GetAccessor(typeof(Class1), nameof(Class1.Field2))); Assert.NotNull(strategy.GetAccessor(typeof(Class1), nameof(Class1.Property1))); Assert.Null(strategy.GetAccessor(typeof(Class1), nameof(Class1.Property2))); }
public void RegisterByTypeAddPublicProperties() { var strategy = new DefaultMemberAccessStrategy(); strategy.Register <Class1>(); Assert.NotNull(strategy.GetAccessor(typeof(Class1), nameof(Class1.Property1))); Assert.NotNull(strategy.GetAccessor(typeof(Class1), nameof(Class1.Property2))); Assert.Null(strategy.GetAccessor(typeof(Class1), nameof(Class1.PrivateProperty))); }
public void ShouldSkipWriteOnlyProperty() { var strategy = new DefaultMemberAccessStrategy(); strategy.Register <Class1>(); Assert.Null(strategy.GetAccessor(typeof(Class1), nameof(Class1.WriteOnlyProperty))); }
public void RegisterByTypeAddAsyncPublicProperties() { var strategy = new DefaultMemberAccessStrategy(); strategy.Register <Class1>(); var accessor = strategy.GetAccessor(typeof(Class1), nameof(Class1.Property3)); Assert.NotNull(accessor); Assert.IsAssignableFrom <AsyncDelegateAccessor>(accessor); }