"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const assert_1 = __importDefault(require("assert"));
const debug_1 = require("../../../debug");
const fromSpec_1 = require("../../../spec/fromSpec");
const _specs_1 = __importDefault(require("../../../system/_specs"));
const system_1 = require("../../util/system");
const spec = require('../../../system/core/common/LoopRepeat/spec.json');
const LoopRepeat = (0, fromSpec_1.fromSpec)(spec, _specs_1.default);
const loopRepeat = new LoopRepeat(system_1.system);
false && (0, debug_1.watchUnitAndLog)(loopRepeat);
false && (0, debug_1.watchGraphAndLog)(loopRepeat);
false && (0, debug_1.watchTreeAndLog)(loopRepeat);
loopRepeat.play();
loopRepeat.setOutputIgnored('current', true);
loopRepeat.push('init', 0);
loopRepeat.push('test', true);
assert_1.default.equal(loopRepeat.peakInput('test'), undefined);
assert_1.default.equal(loopRepeat.peakOutput('local'), 0);
loopRepeat.push('test', true);
assert_1.default.equal(loopRepeat.peakInput('test'), true);
assert_1.default.equal(loopRepeat.takeOutput('local'), 0);
assert_1.default.equal(loopRepeat.peakInput('test'), undefined);
// infinite loop
// loopRepeat.setInputConstant('test', true)
// loopRepeat.setOutputIgnored('local', true)
// loopRepeat.setOutputIgnored('current', true)
// loopRepeat.push('test', true)
// loopRepeat.push('init', 0)
//# sourceMappingURL=LoopRepeat.js.map