"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
const debug_1 = require("../../../debug");
const fromSpec_1 = require("../../../spec/fromSpec");
const _specs_1 = require("../../../system/_specs");
const system_1 = require("../../util/system");
const spec = require('../../../system/core/common/LengthEquals/spec.json');
const LengthEquals = (0, fromSpec_1.fromSpec)(spec, _specs_1.default);
const lengthEquals = new LengthEquals(system_1.system);
false && (0, debug_1.watchUnitAndLog)(lengthEquals);
false && (0, debug_1.watchGraphAndLog)(lengthEquals);
lengthEquals.play();
lengthEquals.push('a', []);
lengthEquals.push('b', 0);
assert.equal(lengthEquals.take('equals'), true);
assert.equal(lengthEquals.take('equals'), undefined);
assert.equal(lengthEquals.peakInput('a'), undefined);
assert.equal(lengthEquals.peakInput('b'), undefined);
lengthEquals.push('a', [0, 1, 2]);
lengthEquals.push('b', 2);
assert.equal(lengthEquals.take('equals'), false);
assert.equal(lengthEquals.take('equals'), undefined);
assert.equal(lengthEquals.peakInput('a'), undefined);
assert.equal(lengthEquals.peakInput('b'), undefined);
lengthEquals.push('a', [0, 1, 2]);
lengthEquals.push('b', 3);
assert.equal(lengthEquals.take('equals'), true);
assert.equal(lengthEquals.take('equals'), undefined);
assert.equal(lengthEquals.peakInput('a'), undefined);
assert.equal(lengthEquals.peakInput('b'), undefined);
lengthEquals.push('a', [0, 1, 2]);
lengthEquals.push('b', 3);
lengthEquals.push('b', 4);
assert.equal(lengthEquals.take('equals'), false);
assert.equal(lengthEquals.take('equals'), undefined);
assert.equal(lengthEquals.peakInput('a'), undefined);
assert.equal(lengthEquals.peakInput('b'), undefined);
//# sourceMappingURL=LengthEquals.js.map