public void BigNumbersDateTimeTimeTest() { var t = new DateTimeTimeUtils(); var oneDay = TimeSpan.FromDays(1); var zero = t.Zero(); var indexAtOneDay = t.TimeToIndex(zero, zero.Add(oneDay), 1000 * 1000); var timeFromIndex = t.IndexToTime(zero, indexAtOneDay, 1000 * 1000); var time = timeFromIndex.Subtract(zero); Assert.AreEqual(TimeSpan.FromDays(1), time); }
public void DateTimeIndexToTimeTest() { var t = new DateTimeTimeUtils(); var now = DateTime.Now; Assert.AreEqual(now.AddMilliseconds(400), t.IndexToTime(now, 4, 10000)); Assert.AreEqual(now, t.IndexToTime(now, 0, 10000)); Assert.AreEqual(t.Zero(), t.IndexToTime(t.Zero(), 0, 10000)); var oneDay = TimeSpan.FromDays(1); Assert.AreEqual(now.Add(oneDay), t.IndexToTime(now, (long)oneDay.TotalSeconds, 1000)); Assert.AreEqual(now.Add(oneDay), t.IndexToTime(now, (long)oneDay.TotalMilliseconds, 1000 * 1000)); }
public void HugeNumbersDateTimeTimeTest() { var t = new DateTimeTimeUtils(); var frequency = 25 * 1000 * 1000; var oneWeek = TimeSpan.FromDays(7); var zero = t.Zero(); var indexAtOneWeek = t.TimeToIndex(zero, zero.Add(oneWeek), frequency); var timeFromIndex = t.IndexToTime(zero, indexAtOneWeek, frequency); var time = timeFromIndex.Subtract(zero); Assert.AreEqual(TimeSpan.FromDays(7), time); }