public BookASingleRoomFeature() { companyService = new ProductionCompanyService(inMemoryEmployeeRepository); var bookingPolicyRepository = new InMemoryBookingPolicyRepository(); bookingPolicyService = new ProductionBookingPolicyService(bookingPolicyRepository, companyService); HotelRepository hotelRepository = new InMemoryHotelRepository(); hotelService = new ProductionHotelService(hotelRepository); bookingService = new BookingService(hotelService, bookingRepository, bookingPolicyService, productionIdGenerator); bookingServiceWithStubbedIdGenerator = new BookingService(hotelService, bookingRepository, bookingPolicyService, mockIdGenerator.Object); }
static void Main() { var userRepository = new InMemoryUserRepository(); var hotelRepository = new InMemoryHotelRepository(); var smsMessenger = new SmsMessenger(); var emailMessenger = new EmailMessenger(); var users = new User[] { new User("Juanma", smsMessenger, new int[] { 1, 2, 3, 4 }, hotelRepository), new User("Alberto", smsMessenger, new int[] { 1, 3, 5, 7 }, hotelRepository), new User("Emma", emailMessenger, new int[] { 2, 4, 6, 8 }, hotelRepository), new User("Maria", emailMessenger, new int[] { 1, 3, 4, 7, 8 }, hotelRepository) }; foreach (var user in users) { userRepository.Insert(user); } var s = new PromotionSender(userRepository, hotelRepository); s.SendPromotionToEveryone(); }