Пример #1
0
        public void GetRateForNonExistingCurrencyReturnsNull()
        {
            var repository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies"));
            var result     = repository.GetRateForCurrency("FFF");

            Assert.IsNull(result);
        }
Пример #2
0
        public void GetRateForCurrencyRateReturnsOneCurrencyRate()
        {
            var repository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies"));
            var result     = repository.GetRateForCurrency("YER");

            Assert.AreEqual(result.Rate, 287.304992675781m);
        }
Пример #3
0
        public void CurrencyRateRepositoryForWrongCurrencyNotImplemented()
        {
            var repository = new CurrencyRateCsvRepository("currencies", "DKK", TestSetup.GiveMeALocalDummyPathMapper("currencies"));

            //ArgumentException will prevent otherwise
            Assert.IsTrue(true);
        }
Пример #4
0
        public void CurrencyRateRepositoryIsFound()
        {
            var repository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies"));

            //ArgumentException will prevent otherwise
            Assert.IsTrue(true);
        }
Пример #5
0
        public void CheckCsvSupportedTypes()
        {
            var rateRepository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies"));

            //supported types
            Assert.AreEqual(true, rateRepository.IsTypeSupportedByRepository(typeof(Decimal)));
            Assert.AreEqual(true, rateRepository.IsTypeSupportedByRepository(typeof(DateTime)));
            Assert.AreEqual(true, rateRepository.IsTypeSupportedByRepository(typeof(DateTime?)));
            Assert.AreEqual(true, rateRepository.IsTypeSupportedByRepository(typeof(String)));
            //unsupported types
            Assert.AreEqual(false, rateRepository.IsTypeSupportedByRepository(typeof(Int32)));
        }
Пример #6
0
        public void IntegrationTestForLONtoBERFlights()
        {
            var _flightPricesRepository = new FlightCsvRepository("prices", TestSetup.GiveMeALocalDummyPathMapper("prices"));
            var _currencyRateRepository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies"));
            var _dataSanitizer          = new FlightDataSanitizer();
            var _priceRangeCalculator   = new FlightDataCalculator(_dataSanitizer);

            var flightsAndPrices = _flightPricesRepository.GetFlightsFromOriginToDestination("LON", "BER");
            var priceRange       = _priceRangeCalculator.CalculatePriceRange(flightsAndPrices);

            Assert.IsFalse(priceRange.MaximumPrice > 200);
            Assert.IsFalse(priceRange.MinimumPrice < 20);
        }
Пример #7
0
        public void MismatchBetweenTypePropertiesAndCsvPropertiesThrowsError()
        {
            var rateRepository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies"));

            var properties = new string[] { "Rate", "Currency" };
            var values     = new string[] { "3,234", "DKK" };
            var rate       = rateRepository.GiveMeAnObject(properties, values);

            Assert.IsNotNull(rate);
            Assert.AreEqual(rate.Currency, "DKK");
            Assert.AreEqual(rate.Rate, 3.234m);

            properties = new string[] { "Rate", "Currency", "Notmapped" };
            values     = new string[] { "3,234", "DKK", "Notmapped" };
            rate       = rateRepository.GiveMeAnObject(properties, values);
            //should be caught by exception
            Assert.AreEqual(true, false);
        }
Пример #8
0
 public void NoRepositoryFoundThrowsException()
 {
     var repository = new CurrencyRateCsvRepository("foo", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies"));
 }