Пример #1
0
 private void SendAndRemoveCallback()
 {
     if (Callback != null)
     {
         Callback.SendCallback();
         Callback = null;
     }
 }
Пример #2
0
        public MyCountdown(IBackendManager i_backend, long i_targetTimeMs, ICountdownCallback i_callback)
        {
            mBackend     = i_backend;
            Callback     = i_callback;
            TargetTimeMs = i_targetTimeMs;

            CalculateRemainingTime();
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
 public IMyCountdown Create(long i_targetTimeMs, ICountdownCallback i_callback)
 {
     return(factory.Create(i_targetTimeMs, i_callback));
 }