public RatesControllerTest() { var calculator = new RatesCalculator(); calculator.FilePath = Path.GetFullPath(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"\..\..\..\carpark.api\App_Data\"); _controller = new RatesController(calculator); _controller.Request = new HttpRequestMessage(); _controller.Request.SetConfiguration(new HttpConfiguration()); }
public void CalculateResultByOneCurrency2() { var calculator = new RatesCalculator(Mock.Of<IRateRepository>(), Mock.Of<IRatesLoadService>()); var rates = RatesDataSet2(); var result = calculator.CalculateResultByCurrency(rates, Currency.RUB, 50m); Assert.AreEqual(Currency.RUB, result.Currency); Assert.AreEqual(new DateTime(2012, 1, 5), result.StartDate); Assert.AreEqual(new DateTime(2012, 1, 7), result.EndDate); Assert.IsTrue(55.142857142857146m - result.MaxAmount < 0.000000001m); }
public void CalculateResultByOneCurrency1() { var calculator = new RatesCalculator(Mock.Of<IRateRepository>(), Mock.Of<IRatesLoadService>()); var rates = RatesDateSet1(); var result = calculator.CalculateResultByCurrency(rates, Currency.RUB, 100m); Assert.AreEqual(Currency.RUB, result.Currency); Assert.AreEqual(new DateTime(2012, 12, 16), result.StartDate); Assert.AreEqual(new DateTime(2012, 12, 22), result.EndDate); Assert.IsTrue(127.26m - result.MaxAmount < 0.005m); }
public void CalculateResultByOneCurrency_NoDeal1() { var calculator = new RatesCalculator(Mock.Of<IRateRepository>(), Mock.Of<IRatesLoadService>()); var rates = new List<Rate> { new Rate { Date = new DateTime(2012, 12, 1), Rates = new Dictionary<Currency, decimal> {{Currency.RUB, 10m}}}, new Rate { Date = new DateTime(2012, 12, 2), Rates = new Dictionary<Currency, decimal> {{Currency.RUB, 20m}}} }; var result = calculator.CalculateResultByCurrency(rates, Currency.RUB, 100m); //if traider can only lose money, CalculateResultByCurrency return MaxAmount wich less then initial amount Assert.AreEqual(Currency.RUB, result.Currency); Assert.AreEqual(49m, result.MaxAmount); Assert.IsTrue(result.MaxAmount < 100m); }
public FixedRatesNightCalcTest() { _ud = new UserData(); _calculator = new RatesCalculator(); _calculator.FilePath = Path.GetFullPath(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"\..\..\..\carpark.api\App_Data\"); }
public void CalculateResult_NoDeal() { var calculator = new RatesCalculator(Mock.Of<IRateRepository>(), Mock.Of<IRatesLoadService>()); var rates = new List<Rate> { new Rate { BaseCurrency = Currency.USD, Date = new DateTime(2012, 12, 1), Rates = new Dictionary<Currency, decimal> {{Currency.RUB, 10m}}}, new Rate { BaseCurrency = Currency.USD, Date = new DateTime(2012, 12, 2), Rates = new Dictionary<Currency, decimal> {{Currency.RUB, 20m}}} }; var result = calculator.CalculateResult(Currency.USD, new [] {Currency.RUB}, 100, rates); //if traider can only lose money, CalculateResult return MaxAmount = initial amount and Currency = initial currency Assert.AreEqual(Currency.USD, result.Currency); Assert.AreEqual(100m, result.MaxAmount); }