public void ClampTest() { var time0 = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc); var time1 = new DateTime(2015, 12, 31, 0, 0, 0, DateTimeKind.Utc); var range = new DateTimeRange(time0, time1); Assert.AreEqual(time0, range.Clamp(DateTime.MinValue)); Assert.AreEqual(time0, range.Clamp(new DateTime(1999, 12, 31, 0, 0, 0, DateTimeKind.Utc))); Assert.AreEqual(time0, range.Clamp(time0)); Assert.AreEqual(new DateTime(2000, 6, 30, 0, 0, 0, DateTimeKind.Utc), range.Clamp(new DateTime(2000, 6, 30, 0, 0, 0, DateTimeKind.Utc))); Assert.AreEqual(time1, range.Clamp(time1)); Assert.AreEqual(time1, range.Clamp(new DateTime(2016, 1, 1, 0, 0, 0, DateTimeKind.Utc))); Assert.AreEqual(time1, range.Clamp(DateTime.MaxValue)); }