예제 #1
0
        public async Task GetTotalTransactionAsync()
        {
            //Arrange
            IEnumerable <Transactions> transactions = MockTransactions.GetTransactions();
            var mockTransactionsRepository          = new Mock <IRepository <Transactions> >();

            mockTransactionsRepository.Setup(p => p.GetAsync()).Returns(Task.FromResult(transactions));

            IEnumerable <Rates> rates = MockRates.GetRates();
            var mockRatesRepository   = new Mock <IRepository <Rates> >();

            mockRatesRepository.Setup(p => p.GetAsync()).Returns(Task.FromResult(rates));

            GraphSolver   graphSolver   = new GraphSolver();
            AmountService amountService = new AmountService();
            TransactionBusinessService transactionBusinessService = new TransactionBusinessService(graphSolver, amountService, null);
            TransactionFilterService   transactionFilterService   = new TransactionFilterService(null);

            ConfigurationBuilder configBuilder = new ConfigurationBuilder();

            configBuilder.AddInMemoryCollection(new Dictionary <string, string> {
                { "Currency", "EUR" }
            });
            IConfiguration config = configBuilder.Build();

            TransactionsService transactionsService = new TransactionsService(mockTransactionsRepository.Object, mockRatesRepository.Object, transactionFilterService, transactionBusinessService, null, config);

            //Act
            var totalTransactionDTO = await transactionsService.GetTotalTransactionAsync("A0000").ConfigureAwait(false);

            //Assert
            Assert.NotNull(null);
        }
        public void EnumerableToDTO()
        {
            //Arrange
            IEnumerable <Rates> rates = MockRates.GetRates();

            //Act
            var ratesDto = rates.ToDTO();

            //Assert
            Assert.Equal(expected: rates.Count(), actual: ratesDto.Count());
        }
        public void ToDTO()
        {
            //Arrange
            Rates rate = MockRates.GetRate();

            //Act
            var rateDto = rate.ToDTO();

            //Assert
            Assert.Equal(expected: rate.From, actual: rateDto.From);
            Assert.Equal(expected: rate.To, actual: rateDto.To);
            Assert.Equal(expected: rate.Rate, actual: rateDto.Rate);
        }
예제 #4
0
        public async Task GetAsync()
        {
            //Arrange
            IEnumerable <Rates> rates = MockRates.GetRates();
            var mockRatesRepository   = new Mock <IRepository <Rates> >();

            mockRatesRepository.Setup(p => p.GetAsync()).Returns(Task.FromResult(rates));

            RatesService ratesService = new RatesService(mockRatesRepository.Object, null);

            //Act
            var ratesDTOs = await ratesService.GetAsync().ConfigureAwait(false);

            //Assert
            Assert.Equal(expected: rates.Count(), actual: ratesDTOs.Count());
            for (int i = 0; i < rates.Count(); i++)
            {
                Assert.Equal(expected: rates.ElementAt(i).From, actual: ratesDTOs.ElementAt(i).From);
                Assert.Equal(expected: rates.ElementAt(i).To, actual: ratesDTOs.ElementAt(i).To);
                Assert.Equal(expected: rates.ElementAt(i).Rate, actual: ratesDTOs.ElementAt(i).Rate);
            }
        }