public void CanConvertBothDirections() { var now = DateTime.UtcNow; var nowWithoutMs = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, now.Millisecond, DateTimeKind.Utc); var rightNow = now.ToMillisecondTimestamp().ToDateTime(); Assert.IsTrue(nowWithoutMs.Equals(rightNow)); var yesterday = (nowWithoutMs.ToMillisecondTimestamp() - (long)TimeSpan.FromDays(1).TotalMilliseconds).ToDateTime(); var dayAfterTomorrow = yesterday.AddDays(1); Assert.IsTrue(nowWithoutMs.Equals(dayAfterTomorrow.ToUniversalTime())); }
public void SampleCombinerMergesTimeRanges() { var now = DateTime.Now; var today = new DateTime(now.Year, now.Month, now.Day); var yesterday = today.AddDays(-1); var tomorrow = today.AddDays(1); var firstSample = new DataSample { HitCount = 1, SampleType = DataSampleType.HitCount, StartTime = yesterday.ToMillisecondTimestamp(), EndTime = today.ToMillisecondTimestamp() }; var secondSample = new DataSample { HitCount = 1, SampleType = DataSampleType.HitCount, StartTime = today.ToMillisecondTimestamp(), EndTime = tomorrow.ToMillisecondTimestamp() }; var combiner = new SampleCombiner(firstSample); combiner.AddSample(secondSample); Assert.AreEqual(yesterday.ToMillisecondTimestamp(), combiner.Data.StartTime); Assert.AreEqual(tomorrow.ToMillisecondTimestamp(), combiner.Data.EndTime); }