public void GetRateForNonExistingCurrencyReturnsNull() { var repository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies")); var result = repository.GetRateForCurrency("FFF"); Assert.IsNull(result); }
public void GetRateForCurrencyRateReturnsOneCurrencyRate() { var repository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies")); var result = repository.GetRateForCurrency("YER"); Assert.AreEqual(result.Rate, 287.304992675781m); }
public void CurrencyRateRepositoryForWrongCurrencyNotImplemented() { var repository = new CurrencyRateCsvRepository("currencies", "DKK", TestSetup.GiveMeALocalDummyPathMapper("currencies")); //ArgumentException will prevent otherwise Assert.IsTrue(true); }
public void CurrencyRateRepositoryIsFound() { var repository = new CurrencyRateCsvRepository("currencies", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies")); //ArgumentException will prevent otherwise Assert.IsTrue(true); }
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))); }
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); }
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); }
public void NoRepositoryFoundThrowsException() { var repository = new CurrencyRateCsvRepository("foo", "EUR", TestSetup.GiveMeALocalDummyPathMapper("currencies")); }