UNPKG

blueshell

Version:

A Behavior Tree implementation in modern Javascript

46 lines 3.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chai_1 = require("chai"); const RobotActions_1 = require("./test/RobotActions"); const lib_1 = require("../../lib"); const Parent_1 = require("../../lib/nodes/Parent"); describe('Composite', function () { context('#isParentNode', function () { it('should detect a parent node', function () { chai_1.assert.isTrue((0, lib_1.isParentNode)(RobotActions_1.waitAi), 'Latched Selector not reporting it is a parent'); }); it('should not detect a parent node', function () { chai_1.assert.isFalse((0, lib_1.isParentNode)(RobotActions_1.waitAi.getChildren()[0]), 'Base action reporting it is a parent'); }); }); context('#setEventCounter', function () { it('should set event counter for parent and all previously visited children', function () { const state = new RobotActions_1.RobotState(false); const pStorage = RobotActions_1.waitAi._privateStorage(state); pStorage.eventCounter = 2; RobotActions_1.waitAi.getNodeStorage(state).lastEventSeen = 1; RobotActions_1.waitAi.getChildren()[0].getNodeStorage(state).lastEventSeen = 1; RobotActions_1.waitAi.getChildren()[1].getNodeStorage(state).lastEventSeen = 0; (0, Parent_1.setEventCounter)(pStorage, state, RobotActions_1.waitAi); chai_1.assert.strictEqual(RobotActions_1.waitAi.getNodeStorage(state).lastEventSeen, 2, 'waitAi lastEventSeen not 2'); chai_1.assert.strictEqual(RobotActions_1.waitAi.getChildren()[0].getNodeStorage(state).lastEventSeen, 2, 'waitAi child 0 lastEventSeen not 2'); chai_1.assert.strictEqual(RobotActions_1.waitAi.getChildren()[1].getNodeStorage(state).lastEventSeen, 2, 'waitAi child 1 lastEventSeen not 2'); chai_1.assert.isUndefined(RobotActions_1.waitAi.getChildren()[2].getNodeStorage(state).lastEventSeen, 'waitAi child 2 lastEventSeen not undefined'); }); }); context('#clearEventSeenRecursive', function () { it('should clear last event seen from the node and all child nodes', function () { const state = new RobotActions_1.RobotState(false); const pStorage = RobotActions_1.waitAi._privateStorage(state); pStorage.eventCounter = 2; RobotActions_1.waitAi.getChildren()[0].getNodeStorage(state).lastEventSeen = 1; RobotActions_1.waitAi.getChildren()[1].getNodeStorage(state).lastEventSeen = 0; (0, Parent_1.clearEventSeenRecursive)(RobotActions_1.waitAi, state); chai_1.assert.isUndefined(RobotActions_1.waitAi.getNodeStorage(state).lastEventSeen, 'waitAi lastEventSeen not undefined'); chai_1.assert.isUndefined(RobotActions_1.waitAi.getChildren()[0].getNodeStorage(state).lastEventSeen, 'waitAi child 0 lastEventSeen not undefined'); chai_1.assert.isUndefined(RobotActions_1.waitAi.getChildren()[1].getNodeStorage(state).lastEventSeen, 'waitAi child 1 lastEventSeen not undefined'); chai_1.assert.isUndefined(RobotActions_1.waitAi.getChildren()[2].getNodeStorage(state).lastEventSeen, 'waitAi child 2 lastEventSeen not undefined'); }); }); }); //# sourceMappingURL=Parent.test.js.map