コード例 #1
0
        public async Task GetConversionRate_WithInvalidCurrencies()
        {
            // arrange
            var client = new CurrencyServiceClient(
                _httpClient,
                "https://free.currconv.com/api/v7/currencies?apiKey=d4cf3228112bfb5a29f5",
                "https://free.currconv.com/api/v7/convert?compact=y");

            // act - assert
            await Assert.ThrowsAsync <HttpRequestException>(() => client.GetConversionRate("USD", "EUR"));
        }
コード例 #2
0
        public async Task GetConversionRate_WithValidLookup()
        {
            // arrange
            var client = new CurrencyServiceClient(_httpClient);

            // act
            var result = await client.GetConversionRate("USD", "CAD");

            // assert
            Assert.NotNull(result);
            Assert.Equal("USD", result.ConvertFrom);
            Assert.Equal("CAD", result.ConvertTo);
            Assert.True(result.Rate >= 1M);
        }
コード例 #3
0
        public async Task GetConversionRate_WithSameCurrency()
        {
            // arrange
            var client = new CurrencyServiceClient(_httpClient);

            // act
            var result = await client.GetConversionRate("EUR", "EUR");

            // assert
            Assert.NotNull(result);
            Assert.Equal("EUR", result.ConvertFrom);
            Assert.Equal("EUR", result.ConvertTo);
            Assert.True(result.Rate == 1M);
        }
コード例 #4
0
        public async Task GetCurrencies()
        {
            // arrange
            var client = new CurrencyServiceClient(_httpClient);

            // act
            var result = await client.GetCurrencies();

            // assert
            Assert.NotEmpty(result);
            Assert.Contains <CurrencyDescriptor>(result, p => p.Id == "USD");
            Assert.Contains <CurrencyDescriptor>(result, p => p.Id == "EUR");
            var usd = result.First(p => p.Id == "USD");

            Assert.Equal("United States Dollar", usd.CurrencyName);
            Assert.Equal("$", usd.CurrencySymbol);
        }
コード例 #5
0
ファイル: ExchangeRates.cs プロジェクト: youscam/MyMoney.Net
        decimal GetExchangeRate(CurrencyCode fromCurrency, CurrencyCode toCurrency)
        {
            decimal d = 0;
            try
            {
                CurrencyServiceClient csc = new CurrencyServiceClient();
                var result = csc.GetConversionRate(fromCurrency, toCurrency);
                if (result != null)
                {
                    d = (decimal)result.Rate;
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("BeginGetExchangeRate for " + fromCurrency.ToString() + " threw exception: " + ex.Message);
            }

            return d;
        }