private static Shop BuildShop()
 {
     var productRepository = new ProductRepository();
     var productFactory = new ProductFactory(productRepository);
     var discountCalculator = new DiscountCalculator();
     var productSales = new List<IProductSale> {new ProductASale(discountCalculator), new ProductBSale(discountCalculator)};
     return new Shop(productFactory, productSales);
 }
 public ProductFactory(ProductRepository productRepository)
 {
     this.productRepository = productRepository;
 }