"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/array/Multiply/spec.json');
const ArrayMultiply = (0, fromSpec_1.fromSpec)(spec, _specs_1.default);
const arrayMultiply = new ArrayMultiply(system_1.system);
0 && (0, debug_1.watchUnitAndLog)(arrayMultiply);
0 && (0, debug_1.watchGraphAndLog)(arrayMultiply);
0 && (0, debug_1.watchTreeAndLog)(arrayMultiply);
arrayMultiply.play();
arrayMultiply.push('a', []);
arrayMultiply.push('b', []);
assert.deepEqual(arrayMultiply.take('ab'), []);
assert.deepEqual(arrayMultiply.peakInput('a'), undefined);
assert.deepEqual(arrayMultiply.peakInput('b'), undefined);
arrayMultiply.push('a', [1]);
arrayMultiply.push('b', [2]);
assert.deepEqual(arrayMultiply.take('ab'), [2]);
assert.deepEqual(arrayMultiply.peakInput('a'), undefined);
assert.deepEqual(arrayMultiply.peakInput('b'), undefined);
arrayMultiply.push('a', [1, 2]);
arrayMultiply.push('b', [1, 2]);
assert.deepEqual(arrayMultiply.take('ab'), [1, 4]);
assert.deepEqual(arrayMultiply.peakInput('a'), undefined);
assert.deepEqual(arrayMultiply.peakInput('b'), undefined);
arrayMultiply.push('a', [1, 2]);
arrayMultiply.push('b', [1, 2]);
assert.deepEqual(arrayMultiply.peak('ab'), [1, 4]);
arrayMultiply.push('b', [3, 4]);
assert.deepEqual(arrayMultiply.take('ab'), [3, 8]);
assert.deepEqual(arrayMultiply.peakInput('a'), undefined);
assert.deepEqual(arrayMultiply.peakInput('b'), undefined);
//# sourceMappingURL=ArrayMultiply.js.map