public void Process(TicketsTask inputData) { string algorithm = inputData.Algorithm; ITicketsProvider ticketsProvider = new TicketsGenerator( startIndex: 0, endIndex: 999999 ); IEnumerable <Ticket> tickets = ticketsProvider.GetTickets(); ILuckyTicketResolver luckyTicketResolver = luckyTicketResolverFactory.Create(algorithm); var counter = new LuckyTicketsCounter(luckyTicketResolver); var luckyTicketsNumber = counter.Count(tickets); logger.LogInformation($"You have {luckyTicketsNumber} lucky tickets"); }
public void GetTickets(int startIndex, int endIndex) { // Arrange var ticketsGenerator = new TicketsGenerator(startIndex, endIndex); IEnumerable <Ticket> expectedTickets = new List <Ticket> { new Ticket(1), new Ticket(2), new Ticket(3) }; // Act var actualTickets = ticketsGenerator.GetTickets(); var luckyTicketComparer = new LuckyTicketEqualityComparer(); // Assert Assert.Equal(expectedTickets, actualTickets, luckyTicketComparer); }