public void Test__Class_ValueChange() { // Arrange var boundType = ObjectBinderBuilder.New <Entity, Common>() .Bind(x => x.Name, x => x.NameC) .Bind(x => x.Alive, x => x.AliveC) .WithAssemblyGenerator(_assemblyGenerator) .Build() .BoundType; var source = _fixture.Create <Entity>(); var proxy = (Common)Activator.CreateInstance(boundType, source); var extraProperty = _fixture.Create <string>(); var(updatedName, updatedAlive) = (_fixture.Create <string>(), _fixture.Create <bool>()); // Act proxy.NameC = updatedName; proxy.AliveC = updatedAlive; proxy.ExtraProperty = extraProperty; // Assert Assert.Equal(updatedName, source.Name); Assert.Equal(updatedAlive, source.Alive); Assert.Equal(source.Name, proxy.NameC); Assert.Equal(source.Alive, proxy.AliveC); Assert.Equal(extraProperty, proxy.ExtraProperty); }
public void Test_Class_DefaultValues() { // Arrange var boundType = ObjectBinderBuilder.New <Entity, Common>() .Bind(x => x.Name, x => x.NameC) .Bind(x => x.Alive, x => x.AliveC) .WithAssemblyGenerator(_assemblyGenerator) .Build() .BoundType; var source = _fixture.Create <Entity>(); var proxy = (Common)Activator.CreateInstance(boundType, source); // Act, Assert Assert.Equal(source.Name, proxy.NameC); Assert.Equal(source.Alive, proxy.AliveC); }