public void Timer_Action_ClearEvent() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test3a", 3000, IncreaseCount, false); TimerManager.AddEventSet("test3b", 3000, IncreaseCount, false); TimerManager.AddEventSet("test3c", 3000, delegate(object sender, TimerManagerEventArg e) { count++; if (count >= 1) { mre.Set(); } } , true); mre.WaitOne(2000, false); Assert.AreEqual(3, TimerManager.GetEventSetsCount(), "Timer event count should be 3"); TimerManager.ClearAllEventSets(); // tick a 2nd time mre.Reset(); count = 0; mre.WaitOne(2000, false); Assert.AreEqual(0, TimerManager.GetEventSetsCount(), "Timer event count should be 0 after clearing"); }
public void Timer_Action_RemoveEvent() { // need to tick at least once int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test2", 3000, delegate(object sender, TimerManagerEventArg e) { count++; if (count >= 1) { mre.Set(); } } , true); mre.WaitOne(2000, false); Assert.AreEqual(true, TimerManager.IsIdentExist("test2"), "The manager should find the 'Test2' ID"); bool rem = TimerManager.RemoveEventSet("test2"); // need to tick a 2nd time at least mre.Reset(); count = 0; mre.WaitOne(2000, false); Assert.AreEqual(true, rem, "Removing should have been successful"); Assert.AreEqual(0, TimerManager.GetEventSetsCount(), "Timer event count should be 0 after removing"); }
public void Timer_Pause_StartPauseWaitUnpauseWait() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test12", 250, delegate(object sender, TimerManagerEventArg e) { count++; mre.Set(); } , false); mre.WaitOne(1500, false); Assert.GreaterOrEqual(count, 1, "Count should have fired once."); mre.Reset(); int countSnapshot = count; TimerManager.PauseIdent("test12", true); mre.WaitOne(1500, false); Assert.AreEqual(count, countSnapshot, "Count should still be at 1 after the stop"); mre.Reset(); TimerManager.PauseIdent("test12", false); mre.WaitOne(1500, false); Assert.GreaterOrEqual(count, countSnapshot, "Count should have increased"); }
private void RegisterEvent() { if (isRegistered) { this.Log().Warn("Trying to register twice"); return; } this.Log().Info("Event is being registered."); isRegistered = TimerManager.AddEventSet(identifier, tickSpeed, Ticking, false); if (!isRegistered) { this.Log().Warn("Event failed to register."); } }
public void Timer_Pause_Wait() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test13", 250, delegate(object sender, TimerManagerEventArg e) { // so we're sure it fired count = 5; mre.Set(); } , false); TimerManager.PauseIdent("test13", true); mre.WaitOne(3000, false); Assert.AreEqual(count, 0, "Count should be 0."); }
public void Timer_Count_Normal() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test15", 250, delegate(object sender, TimerManagerEventArg e) { // so we're sure it fired count++; // never set the MRE so it waits the full time } , false); int countNow = TimerManager.GetTickCounter(); mre.WaitOne(3000, false); Assert.Greater(TimerManager.GetTickCounter(), countNow, "Tick Count should be greater than previously"); }
public void Timer_Ticking_LongTime3sSleepInstant() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test9", 1600, delegate(object sender, TimerManagerEventArg e) { count++; if (count >= 2) { mre.Set(); } } , true); mre.WaitOne(4000, false); Assert.GreaterOrEqual(count, 2, "Count should have fired 2 times already"); }
public void Timer_Ticking_LongTime3sSleepNotInstant() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test8", 2000, delegate(object sender, TimerManagerEventArg e) { count++; if (count >= 1) { mre.Set(); } } , false); mre.WaitOne(3000, false); Assert.GreaterOrEqual(count, 1, "Count should have fired once."); }
public void Timer_Ticking_SmallTime3_5sSleepNotInstant() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test6", 250, delegate(object sender, TimerManagerEventArg e) { count++; if (count >= 3) { mre.Set(); } } , false); mre.WaitOne(3500, false); Assert.GreaterOrEqual(count, 3, "Count should have fired 3 times already."); }
public void Timer_Count_Paused() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test16", 250, delegate(object sender, TimerManagerEventArg e) { // so we're sure it fired count++; // never set the MRE so it waits the full time } , false); TimerManager.PauseIdent("test16", true); int countNow = TimerManager.GetTickCounter(); mre.WaitOne(3000, false); // the ticking should happen once more to have time to pause the event Assert.AreEqual(countNow + 1, TimerManager.GetTickCounter(), "Tick Count should be the same."); }
public void Timer_Pause_IdentNotFound() { int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test14", 250, delegate(object sender, TimerManagerEventArg e) { count++; mre.Set(); } , false); bool isFound = TimerManager.PauseIdent("FoobarNotFound", true); Assert.AreEqual(false, isFound, "The event 'FoobarNotFound' shouldn't be found"); isFound = TimerManager.PauseIdent("test14", true); Assert.AreEqual(true, isFound, "The event 'test14' should be found"); }
public void Timer_EventSetFetch_NotFound() { // need to tick at least once int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test18", 250, delegate(object sender, TimerManagerEventArg e) { count++; if (count >= 1) { mre.Set(); } } , false); mre.WaitOne(2000, false); TimerManagerEventset retVal = TimerManager.GetEventSetByID("test_foo"); Assert.AreEqual(null, retVal, "value returned by the method should be null"); }
public void Timer_Action_AddEvent() { // need to tick at least once int count = 0; ManualResetEvent mre = new ManualResetEvent(false); bool add = TimerManager.AddEventSet("test1", 3000, delegate(object sender, TimerManagerEventArg e) { count++; if (count >= 1) { mre.Set(); } } , true); mre.WaitOne(2000, false); Assert.AreEqual(1, TimerManager.GetEventSetsCount(), "Timer event count should be 1"); Assert.AreEqual(true, add, "Adding should have been successful"); }
public void Timer_EventSetFetch_Normal() { // need to tick at least once int count = 0; ManualResetEvent mre = new ManualResetEvent(false); TimerManager.AddEventSet("test17", 2456, delegate(object sender, TimerManagerEventArg e) { count++; if (count >= 1) { mre.Set(); } } , false); mre.WaitOne(2000, false); TimerManagerEventset retVal = TimerManager.GetEventSetByID("test17"); Assert.AreEqual(2456, retVal.timeInbetweenTick, "Ticking time should be the right thing"); Assert.AreEqual("test17", retVal.Id, "ID should be the right thing"); Assert.AreEqual(false, retVal.isPaused, "Pause status should be the right thing"); }
public void Timer_Ticking_SmallTimeNoSleepInstant() { // since no sleep, not likely to trigger here. TimerManager.AddEventSet("test5", 250, IncreaseCount, true); Assert.AreEqual(0, countFired, "Count should not have been fired here."); }
public void Timer_Ticking_SmallTimeNoSleepNotInstant() { // no sleep, unlikely to trigger TimerManager.AddEventSet("test4", 250, IncreaseCount, false); Assert.AreEqual(0, countFired, "Count should not have been fired here."); }