public SingleStepOutputGenerationStrategy() {
OutputGenerationContextVisitorFactory contextVisitorFactory = new FizzBuzzOutputGenerationContextVisitorFactory();
contextVisitor = contextVisitorFactory.createVisitor();
final IsEvenlyDivisibleStrategyFactory myFizzStrategyFactory = new FizzStrategyFactory();
final StringPrinterFactory myFizzStringPrinterFactory = new FizzStringPrinterFactory();
contexts.add(new FizzBuzzOutputGenerationContext(myFizzStrategyFactory.createIsEvenlyDivisibleStrategy(), myFizzStringPrinterFactory.createStringPrinter()));
final IsEvenlyDivisibleStrategyFactory myBuzzStrategyFactory = new BuzzStrategyFactory();
final StringPrinterFactory myBuzzStringPrinterFactory = new BuzzStringPrinterFactory();
contexts.add(new FizzBuzzOutputGenerationContext(myBuzzStrategyFactory.createIsEvenlyDivisibleStrategy(), myBuzzStringPrinterFactory.createStringPrinter()));
final IsEvenlyDivisibleStrategyFactory myNoFizzNoBuzzStrategyFactory = new NoFizzNoBuzzStrategyFactory();
final IntegerPrinterFactory myIntIntegerPrinterFactory = new IntIntegerPrinterFactory();
contexts.add(new FizzBuzzOutputGenerationContext(myNoFizzNoBuzzStrategyFactory.createIsEvenlyDivisibleStrategy(), myIntIntegerPrinterFactory.createPrinter()));
final StringPrinterFactory myNewLineStringPrinterFactory = new NewLineStringPrinterFactory();
myNewLinePrinter = myNewLineStringPrinterFactory.createStringPrinter(); }