コード例 #1
0
        public void TicksChild(NodeStatus expectedStatus, int expectedTicks)
        {
            var child = new ReturnXNode(expectedStatus);
            var node  = new ForwardToChildNode(child);

            Assert.That(child.Ticks, Is.EqualTo(0));
            for (int i = 0; i < expectedTicks; i++)
            {
                var status = node.Tick();
            }

            Assert.That(child.Ticks, Is.EqualTo(expectedTicks));
        }
コード例 #2
0
        public void HaltsChild(int expectedHalts)
        {
            var child = new ReturnXNode(NodeStatus.SUCCESS);
            var node  = new ForwardToChildNode(child);

            Assert.That(child.Halts, Is.EqualTo(0));
            for (int i = 0; i < expectedHalts; i++)
            {
                node.Halt();
            }

            Assert.That(node.Halts, Is.EqualTo(expectedHalts));
            Assert.That(child.Halts, Is.EqualTo(expectedHalts));
        }
コード例 #3
0
        public void HaltsChild(int expectedHalts)
        {
            // ForwardToChild simply calls the base class halt (DecoratorNode)
            // the default implementation should call the child's halt
            var child = new ReturnXNode(NodeStatus.SUCCESS);
            var node  = new ForwardToChildNode(child);

            Assert.That(child.Halts, Is.EqualTo(0));
            for (int i = 0; i < expectedHalts; i++)
            {
                node.Halt();
            }

            Assert.That(child.Halts, Is.EqualTo(expectedHalts));
        }