public void CompoundDailyReturnsForStrategy1() { List <CompoundDailyReturn> compoundDailyReturns = _capitalService.GetCompoundDailyReturnsForStrategy("Strategy1"); List <CompoundDailyReturn> expectedCompoundDailyReturns = new List <CompoundDailyReturn> { new CompoundDailyReturn { Strategy = "Strategy1", Date = DateTime.Parse("2017-01-01"), CompoundReturn = 0.05M }, new CompoundDailyReturn { Strategy = "Strategy1", Date = DateTime.Parse("2017-01-02"), CompoundReturn = 0.11M }, new CompoundDailyReturn { Strategy = "Strategy1", Date = DateTime.Parse("2017-01-03"), CompoundReturn = 0.09M }, new CompoundDailyReturn { Strategy = "Strategy1", Date = DateTime.Parse("2017-01-04"), CompoundReturn = 0.19M }, new CompoundDailyReturn { Strategy = "Strategy1", Date = DateTime.Parse("2017-01-07"), CompoundReturn = 0.215M }, new CompoundDailyReturn { Strategy = "Strategy1", Date = DateTime.Parse("2017-01-08"), CompoundReturn = 0.225M }, new CompoundDailyReturn { Strategy = "Strategy1", Date = DateTime.Parse("2017-02-02"), CompoundReturn = 0.25869M }, new CompoundDailyReturn { Strategy = "Strategy1", Date = DateTime.Parse("2017-03-10"), CompoundReturn = 0.28386M } }; CollectionAssert.AreEquivalent(expectedCompoundDailyReturns, compoundDailyReturns); }
public IActionResult GetCompoundDailyReturns(string strategy) { if (string.IsNullOrWhiteSpace(strategy)) { Logger.Error("Invalid request: Strategy was not provided"); return(BadRequest("Strategy was not provided")); } var resultingCompoundDailyReturns = _capitalService.GetCompoundDailyReturnsForStrategy(strategy) .Select(compoundDailyReturns => new { strategy = compoundDailyReturns.Strategy, date = compoundDailyReturns.Date.ToString("yyyy-MM-dd"), compoundReturn = compoundDailyReturns.CompoundReturn }); return(Ok(resultingCompoundDailyReturns)); }