示例#1
0
        public void ShouldPublishCommand()
        {
            var command = new AlwaysSucceed();

            MockQueueClient.Setup(x => x.Publish(command));

            Subject.Publish(command);

            MockQueueClient.Verify(x => x.Publish(command), Times.Once());
        }
示例#2
0
        public void ShouldScheduleCommandChain()
        {
            var alwaysSucceed = new AlwaysSucceed();

            Subject.Command(new [] {
                new AlwaysSucceed(),
                new AlwaysSucceed(),
                new AlwaysSucceed(),
                new AlwaysSucceed()
            }).EverySecond();
        }
示例#3
0
        public void AlwaysSucceedTest()
        {
            var blackboard = new TestBlackboard();
            var node       = new AlwaysSucceed <TestBlackboard>();
            var tree       = BehaviorTreeBuilder <TestBlackboard> .Begin()
                             .Sequence()
                             .Decorator(node).Leaf(new TrackingLeaf())
                             .Build(blackboard);

            this.UpdateAndStep(tree, 0.1f);

            Assert.AreEqual(BTTaskStatus.Succeeded, node.Status);
            Assert.AreEqual(1, blackboard.GetTracking(TestBlackboard.TrackingExecution));
        }
示例#4
0
        public void ShouldScheduleToRunLambdaEverySecond()
        {
            var alwaysSucceed = new AlwaysSucceed();

            Subject.Command(() => Console.WriteLine("Hello, world!")).EverySecond();
        }
示例#5
0
        public void ShouldScheduleToRunCommandEverySecond()
        {
            var alwaysSucceed = new AlwaysSucceed();

            Subject.Command(alwaysSucceed).EverySecond();
        }