コード例 #1
0
        public void ConvertSum_DateFromFuture_ExceptionThrown()
        {
            var client = new Mock <IBankGovUaClient>();
            UahCurrencyRateService service = new UahCurrencyRateService(client.Object);

            Assert.ThrowsAsync <ArgumentOutOfRangeException>(() => service.ConvertSum(10, DateTime.MaxValue));
        }
コード例 #2
0
        public void ConvertSum_SumIsLessOrEqualZero_ExceptionThrown(decimal sum)
        {
            var client = new Mock <IBankGovUaClient>();
            UahCurrencyRateService service = new UahCurrencyRateService(client.Object);

            Assert.ThrowsAsync <ArgumentOutOfRangeException>(() => service.ConvertSum(sum, DateTime.Now));
        }
コード例 #3
0
        public void GetRate_EmptyResponse_ExceptionThrown()
        {
            var client = new Mock <IBankGovUaClient>();
            List <BankGovUaRateResponse> response = new List <BankGovUaRateResponse>();

            client.Setup(p => p.Exchange(It.IsAny <DateTime>())).ReturnsAsync(response);
            UahCurrencyRateService service = new UahCurrencyRateService(client.Object);

            Assert.ThrowsAsync <Exception>(() => service.GetRate(DateTime.Now));
        }
コード例 #4
0
        public async void ConvertSum_CorrectInput_ReturnResult(DateTime date, List <BankGovUaRateResponse> response)
        {
            var client = new Mock <IBankGovUaClient>();

            client.Setup(p => p.Exchange(It.IsAny <DateTime>())).ReturnsAsync(response);
            UahCurrencyRateService service = new UahCurrencyRateService(client.Object);

            decimal expected = 25.34M;
            decimal actual   = await service.ConvertSum(1000, date);

            Assert.Equal(expected, actual, 3);
        }