private void SendAndRemoveCallback() { if (Callback != null) { Callback.SendCallback(); Callback = null; } }
public MyCountdown(IBackendManager i_backend, long i_targetTimeMs, ICountdownCallback i_callback) { mBackend = i_backend; Callback = i_callback; TargetTimeMs = i_targetTimeMs; CalculateRemainingTime(); }
public void WhenCountdownIsTicked_AndRemainingTime_CallbackIsNotSent() { ICountdownCallback mockCallback = Substitute.For <ICountdownCallback>(); MyCountdown systemUnderTest = new MyCountdown(Substitute.For <IBackendManager>(), 0, mockCallback); systemUnderTest.RemainingTimeMs = 100; systemUnderTest.Tick(0); mockCallback.DidNotReceive().SendCallback(); Assert.AreEqual(mockCallback, systemUnderTest.Callback); }
public void WhenCountdownIsTicked_AndNoRemainingTime_CallbackIsSent_AndNulled() { ICountdownCallback mockCallback = Substitute.For <ICountdownCallback>(); MyCountdown systemUnderTest = new MyCountdown(Substitute.For <IBackendManager>(), 0, mockCallback); systemUnderTest.RemainingTimeMs = 0; systemUnderTest.Tick(0); mockCallback.Received().SendCallback(); Assert.IsNull(systemUnderTest.Callback); }
public IMyCountdown Create(long i_targetTimeMs, ICountdownCallback i_callback) { return(factory.Create(i_targetTimeMs, i_callback)); }