Exemple #1
0
        public void WhenResettingWhileRunning_ReInitializeTimer()
        {
            var child = new MockBehaviour
            {
                ReturnStatus = BehaviourStatus.Running
            };

            var context = new MockContext();

            var sut = new TimeLimit <MockContext>(child, 1000);

            sut.Tick(context);

            context.AddMilliseconds(2000);

            sut.Reset();

            var behaviourStatus = sut.Tick(context);

            Assert.That(behaviourStatus, Is.EqualTo(BehaviourStatus.Running));
        }
Exemple #2
0
        public void WhileTimeLimitHasNotExpired_ReturnChildStatus(BehaviourStatus status)
        {
            var child = new MockBehaviour {
                ReturnStatus = status
            };
            var sut = new TimeLimit <MockContext>(child, 1000);

            var behaviourStatus = sut.Tick(new MockContext());

            Assert.That(behaviourStatus, Is.EqualTo(status));
            Assert.That(child.UpdateCallCount, Is.EqualTo(1));
        }
Exemple #3
0
        public void WhenTimeLimitHasExpired_ReturnFailureAndResetChild(BehaviourStatus status)
        {
            var child = new MockBehaviour {
                ReturnStatus = BehaviourStatus.Running
            };
            var sut     = new TimeLimit <MockContext>(child, 1000);
            var context = new MockContext();

            sut.Tick(context);

            context.AddMilliseconds(2000);

            var behaviourStatus = sut.Tick(context);

            Assert.That(behaviourStatus, Is.EqualTo(BehaviourStatus.Failed));
            Assert.That(child.UpdateCallCount, Is.EqualTo(1));

            child.ReturnStatus = status;

            behaviourStatus = sut.Tick(context);

            Assert.That(behaviourStatus, Is.EqualTo(status));
            Assert.That(child.UpdateCallCount, Is.EqualTo(2));
        }