private static int CalculateCurrentExperimentDay(List <RbgData> lastRbgData) { int experimentDay = 0; if (lastRbgData.Any()) { var last = lastRbgData.First(); var calculator = new ExperimentDayCalculator(); calculator.Days = last.ExperimentDay; calculator.PreviousDate = last.Date.Date; calculator.Calculate(DateTime.UtcNow.Date); experimentDay = calculator.Days; } return(experimentDay); }
public void Test() { var calc = new ExperimentDayCalculator(); calc.Days = 10; var now = DateTime.Now; // 10 Assert.AreEqual(10, calc.Days); // 10 Assert.AreEqual(10, calc.Calculate(now)); Assert.AreEqual(10, calc.Calculate(now)); Assert.AreEqual(10, calc.Calculate(now.AddHours(23))); Assert.AreEqual(10, calc.Calculate(now.AddDays(-1))); // 11 Assert.AreEqual(11, calc.Calculate(now.AddDays(1))); Assert.AreEqual(11, calc.Calculate(now.AddDays(1))); // 12 Assert.AreEqual(12, calc.Calculate(now.AddDays(2))); // 13 Assert.AreEqual(13, calc.Calculate(now.AddDays(3))); // 14 Assert.AreEqual(14, calc.Calculate(now.AddDays(4))); // 15 Assert.AreEqual(15, calc.Calculate(now.AddDays(7))); // 16 Assert.AreEqual(16, calc.Calculate(now.AddDays(9))); Assert.AreEqual(16, calc.Days); }