public void SerializationAndEquality() { var intronPath = Path.GetTempPath() + Guid.NewGuid() + ".dat"; var originalIntron = new SimpleInterval(100, 200); // serialize the intron using (var writer = new ExtendedBinaryWriter(FileUtilities.GetCreateStream(intronPath))) { originalIntron.Write(writer); } // deserialize the intron SimpleInterval newIntron; using (var reader = new ExtendedBinaryReader(FileUtilities.GetReadStream(intronPath))) { newIntron = SimpleInterval.Read(reader); } Assert.Equal(originalIntron, newIntron); // test the equality operations Assert.True(originalIntron.Equals(newIntron)); SimpleInterval nullIntron = null; // ReSharper disable once ExpressionIsAlwaysNull Assert.False(originalIntron.Equals(nullIntron)); object nullObject = null; // ReSharper disable once ExpressionIsAlwaysNull Assert.False(originalIntron.Equals(nullObject)); }
private static void SimpleTest() { IScheduledItem item = new SimpleInterval(new DateTime(2004, 1, 1), TimeSpan.FromMinutes(2)); TestItem(item, new DateTime(2003, 1, 1), true, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2003, 1, 1), false, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2004, 1, 1), true, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2004, 1, 1), false, new DateTime(2004, 1, 1, 0, 2, 0)); TestItem(item, new DateTime(2055, 1, 1), true, new DateTime(2055, 1, 1)); item = new SimpleInterval(new DateTime(2004, 1, 1), TimeSpan.FromMinutes(2), 1); TestItem(item, new DateTime(2003, 1, 1), true, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2003, 1, 1), false, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2004, 1, 1), true, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2004, 1, 1), false, DateTime.MaxValue); TestItem(item, new DateTime(2004, 1, 1, 0, 0, 1), true, DateTime.MaxValue); item = new SimpleInterval(new DateTime(2004, 1, 1), TimeSpan.FromMinutes(2), 2); TestItem(item, new DateTime(2003, 1, 1), true, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2003, 1, 1), false, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2004, 1, 1), true, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2004, 1, 1), false, new DateTime(2004, 1, 1, 0, 2, 0)); TestItem(item, new DateTime(2004, 1, 1, 0, 0, 1), true, new DateTime(2004, 1, 1, 0, 2, 0)); TestItem(item, new DateTime(2004, 1, 1, 0, 3, 0), true, DateTime.MaxValue); item = new SimpleInterval(new DateTime(2004, 1, 1), TimeSpan.FromMinutes(2), 3); TestItem(item, new DateTime(2003, 1, 1), true, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2003, 1, 1), false, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2004, 1, 1), true, new DateTime(2004, 1, 1)); TestItem(item, new DateTime(2004, 1, 1), false, new DateTime(2004, 1, 1, 0, 2, 0)); TestItem(item, new DateTime(2004, 1, 1, 0, 0, 1), true, new DateTime(2004, 1, 1, 0, 2, 0)); TestItem(item, new DateTime(2004, 1, 1, 0, 3, 0), true, new DateTime(2004, 1, 1, 0, 4, 0)); TestItem(item, new DateTime(2004, 1, 1, 0, 5, 0), true, DateTime.MaxValue); }
public void HashCode() { var originalIntron = new SimpleInterval(100, 200); const int expectedHashCode = 172; var observedHashCode = originalIntron.GetHashCode(); Assert.Equal(expectedHashCode, observedHashCode); }
public void AllowTheFirstRequestItReceives() { // Arrange var strategy = new SimpleInterval(new SimpleIntervalConfig(150)); // Act bool isAllowed = strategy.IsAllowed(DateTime.Now); // Assert Assert.That(isAllowed, Is.True); }
public void AllowRequestIfOverIntervalPeriod() { // Arrange var strategy = new SimpleInterval(new SimpleIntervalConfig(10000)); DateTime firstRequestTime = DateTime.Now; strategy.IsAllowed(firstRequestTime); // Act bool isAllowed = strategy.IsAllowed(firstRequestTime.AddMilliseconds(10001)); // Assert Assert.That(isAllowed, Is.True); }
private static void MultipleAsyncJobTimer() { DateTime now = DateTime.Now; Delegate d = new dOutput(Output); IScheduledItem item; item = new SimpleInterval(now, new TimeSpan(0, 0, 1)); _Timer.AddAsyncJob(item, d, "one"); item = new SimpleInterval(now, new TimeSpan(0, 0, 3)); _Timer.AddAsyncJob(item, d, "three"); item = new SimpleInterval(now, new TimeSpan(0, 0, 2)); _Timer.AddAsyncJob(item, d, "two"); _Timer.Error += new ExceptionEventHandler(_Timer_Error); _Timer.Start(); }
static void MultipleAsyncJobTimer() { var now = DateTime.Now; var d = new OrderedOutput(Output); var item = new SimpleInterval(now, new TimeSpan(0, 0, 1)); Timer.AddAsyncJob(item, d, "one"); item = new SimpleInterval(now, new TimeSpan(0, 0, 3)); Timer.AddAsyncJob(item, d, "three"); item = new SimpleInterval(now, new TimeSpan(0, 0, 2)); Timer.AddAsyncJob(item, d, "two"); Timer.Error += Timer_Error; Timer.Start(); }
static void MultipleJobTimer() { var dtNow = DateTime.Now; var func = new OrderedOutput(Output); SimpleInterval item; //item = new SimpleInterval(dtNow, new TimeSpan(0, 0, 1)); //_Timer.AddJob(item, func, "error"); item = new SimpleInterval(dtNow, new TimeSpan(0, 0, 3)); Timer.AddJob(item, func, "three"); item = new SimpleInterval(dtNow, new TimeSpan(0, 0, 2)); Timer.AddJob(item, func, "two"); Timer.Error += Timer_Error; Timer.Start(); }