public void Allow_A_Factory_Method_To_Be_Assigned() { // arrange var contextBuilder = new ContextBuilder(); var parser0 = new Parser <string>("base"); var parser1 = new Parser("base1"); var builder0 = new ParserBuilder <string>(contextBuilder, parser0); var builder1 = new ParserBuilder(contextBuilder, parser1); // act builder0.WithFactoryFunction(() => "hi"); builder1.WithFactoryFunction(() => "hi"); // assert parser0.FactoryFunction().Should().Be("hi"); parser1.FactoryFunction().Should().Be("hi"); }