Example #1
0
        public void SetSymbols_WithValidSymbols_ReturnsSymbols()
        {
            var sut = new FixerIOClient();

            sut.Symbols = new[] { "ZAR", "USD" };

            Assert.AreEqual(new[] { "ZAR", "USD" }, sut.Symbols);
        }
Example #2
0
        public void SetBaseCurrency_WithValidCurrencyCode_SetsBaseCurrency()
        {
            var sut = new FixerIOClient();

            sut.BaseCurrency = "ZAR";

            Assert.AreEqual("ZAR", sut.BaseCurrency);
        }
Example #3
0
        public void GetCurrenciesForDate_WithSymbolsSet_ReturnsRatesOnlyForThoseSymbols()
        {
            var sut = new FixerIOClient()
            {
                Symbols = new[] { "ZAR", "USD" }
            };

            var result = sut.GetRatesForDate(new DateTime(2010, 01, 01));

            Assert.True(result.Rates.Any(r => r.Key != "ZAR" && r.Key != "ZAR"));
        }
Example #4
0
        public void GetLatest_WithSymbolsSet_ReturnsRatesOnlyForThoseSymbols()
        {
            var sut = new FixerIOClient()
            {
                Symbols = new[] { "ZAR", "USD" }
            };

            var result = sut.GetLatest();

            Assert.True(result.Rates.Any(r => r.Key != "ZAR" && r.Key != "ZAR"));
        }
Example #5
0
        public void SetSymbols_WithInvalidSymbols_ThrowsNotSupportedException()
        {
            var sut = new FixerIOClient();

            Assert.Throws <ArgumentNullException>(() => sut.Symbols = new string[] { null });
            Assert.Throws <ArgumentNullException>(() => sut.Symbols = new[] { string.Empty });
            Assert.Throws <ArgumentNullException>(() => sut.Symbols = new[] { "   " });
            Assert.Throws <NotSupportedException>(() => sut.Symbols = new[] { "ZARR" });
            Assert.Throws <NotSupportedException>(() => sut.Symbols = new[] { "ZA" });
            Assert.Throws <NotSupportedException>(() => sut.Symbols = new[] { "ZA1" });
            Assert.Throws <NotSupportedException>(() => sut.Symbols = new[] { "ZA!" });
        }
Example #6
0
        public void SetBaseCurrency_WithInvalidCurrencyCode_ThrowsNotSupportedException()
        {
            var sut = new FixerIOClient();

            Assert.Throws <ArgumentNullException>(() => sut.BaseCurrency = null);
            Assert.Throws <ArgumentNullException>(() => sut.BaseCurrency = string.Empty);
            Assert.Throws <ArgumentNullException>(() => sut.BaseCurrency = "   ");
            Assert.Throws <NotSupportedException>(() => sut.BaseCurrency = "ZARR");
            Assert.Throws <NotSupportedException>(() => sut.BaseCurrency = "ZA");
            Assert.Throws <NotSupportedException>(() => sut.BaseCurrency = "ZA1");
            Assert.Throws <NotSupportedException>(() => sut.BaseCurrency = "ZA!");
        }
Example #7
0
        public void GetCurrenciesForDate_WithDefaults_ReturnsRates()
        {
            var sut = new FixerIOClient();

            var result = sut.GetRatesForDate(new DateTime(2010, 01, 01));

            Assert.NotNull(result);
            Assert.NotNull(result.Rates);
            Assert.True(result.Rates.Any());
            Assert.False(string.IsNullOrWhiteSpace(result.Base));
            Assert.AreNotEqual(default(DateTime), result.Date);
        }
Example #8
0
        public void GetCurrenciesForDate_WithDifferentBaseSet_ReturnsRatesOnlyForThoseSymbols()
        {
            var sut = new FixerIOClient()
            {
                BaseCurrency = "USD"
            };

            var result = sut.GetRatesForDate(new DateTime(2010, 01, 01));

            Assert.NotNull(result);
            Assert.NotNull(result.Rates);
            Assert.True(result.Rates.Any());
            Assert.False(string.IsNullOrWhiteSpace(result.Base));
            Assert.AreNotEqual(default(DateTime), result.Date);
            Assert.AreEqual(result.Base, "USD");
        }
Example #9
0
        public void GetLatest_WithDifferentBase_ReturnsRates()
        {
            var sut = new FixerIOClient()
            {
                BaseCurrency = "USD"
            };

            var result = sut.GetLatest();

            Assert.NotNull(result);
            Assert.NotNull(result.Rates);
            Assert.True(result.Rates.Any());
            Assert.False(string.IsNullOrWhiteSpace(result.Base));
            Assert.AreNotEqual(default(DateTime), result.Date);
            Assert.AreEqual(result.Base, "USD");
        }
Example #10
0
        public void GetSymbols_WithNoneSet_ReturnsNull()
        {
            var sut = new FixerIOClient();

            Assert.AreEqual(null, sut.Symbols);
        }
Example #11
0
        public void BaseCurrency_WithNoneSet_ReturnsValidDefault()
        {
            var sut = new FixerIOClient();

            Assert.AreEqual(3, sut.BaseCurrency.Length);
        }