private Builder( HarshObjectMetadata metadata, ImmutableDictionary <PropertyAccessor, PropertyAccessor> mappings ) { Metadata = metadata; Mappings = mappings; }
public void PropertySource_is_stored_and_retrieved() { var target = new Tracker(); var source = new TestSource(); var metadata = new HarshObjectMetadata(typeof(Tracker)); var accessor = metadata.ReadableWritableInstanceProperties.Single(); accessor.SetValue(target, "42", source); Assert.Equal("42", target.Property); Assert.Same(source, accessor.GetValueSource(target)); }
public void PropertySource_is_stored_and_retrieved() { var target = new Tracker(); var source = new TestSource(); var metadata = new HarshObjectMetadata(typeof(Tracker)); var accessor = metadata.ReadableWritableInstanceProperties.Single(); accessor.SetValue(target, "42", source); Assert.Equal("42", target.Property); Assert.Same(source, accessor.GetValueSource(target)); }
public ParameterSetBuilder(HarshObjectMetadata metadata, IDefaultValuePolicy defaultValuePolicy) { if (metadata == null) { throw Logger.Fatal.ArgumentNull(nameof(metadata)); } Metadata = metadata; DefaultParameterSetName = metadata .ObjectTypeInfo .GetCustomAttribute<DefaultParameterSetAttribute>(inherit: true)? .DefaultParameterSetName; DefaultValuePolicy = defaultValuePolicy ?? new NullDefaultValuePolicy(); ValidateNoInvalidParameters(); }