コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }