public void Can_build_product() { var parentFactory = new SimpleFactory<Rabbit>(x => x.Name = "Fluffy"); var childFactory = new ChainedFactory<Rabbit>(parentFactory, x => x.Name += " the Bunny"); var product = childFactory.Create(); Assert.Equal("Fluffy the Bunny", product.Name); }
public void Can_handle_null_factory() { var parentFactory = new SimpleFactory<Rabbit>(); var childFactory = new ChainedFactory<Rabbit>(parentFactory, x => x.Name = "Fluffy"); var product = childFactory.Create(null); Assert.Equal("Fluffy", product.Name); }
public void Accepts_custom_action() { var parentFactory = new SimpleFactory<Rabbit>(x => x.Age = 3); var childFactory = new ChainedFactory<Rabbit>(parentFactory, x => x.Name = "Fluffy"); var product = childFactory.Create(x => x.Name += " the Bunny"); Assert.Equal(3, product.Age); Assert.Equal("Fluffy the Bunny", product.Name); }