"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/string/NStringBuilderFrom/spec.json');
const NStringBuilderFrom = (0, fromSpec_1.fromSpec)(spec, _specs_1.default);
const stringBuilder = new NStringBuilderFrom(system_1.system);
false && (0, debug_1.watchUnitAndLog)(stringBuilder);
false && (0, debug_1.watchGraphAndLog)(stringBuilder);
stringBuilder.play();
stringBuilder.push('n', 0);
stringBuilder.push('from', '');
assert.equal(stringBuilder.take('str'), '');
assert.equal(stringBuilder.take('str'), undefined);
assert.equal(stringBuilder.peakInput('n'), undefined);
assert.equal(stringBuilder.peakInput('a'), undefined);
assert.equal(stringBuilder.peakInput('from'), undefined);
stringBuilder.push('n', 7);
stringBuilder.push('from', '#');
stringBuilder.push('a', '7');
stringBuilder.push('a', '7');
stringBuilder.push('a', '5');
stringBuilder.push('a', '5');
stringBuilder.push('a', 'd');
stringBuilder.push('a', 'd');
assert.equal(stringBuilder.take('str'), '#7755dd');
assert.equal(stringBuilder.take('str'), undefined);
assert.equal(stringBuilder.peakInput('n'), undefined);
assert.equal(stringBuilder.peakInput('a'), undefined);
assert.equal(stringBuilder.peakInput('from'), undefined);
stringBuilder.setInputConstant('n', true);
stringBuilder.setInputConstant('from', true);
stringBuilder.push('n', 7);
stringBuilder.push('from', '#');
stringBuilder.push('a', '7');
stringBuilder.push('a', '7');
stringBuilder.push('a', '5');
stringBuilder.push('a', '5');
stringBuilder.push('a', 'd');
stringBuilder.push('a', 'd');
assert.equal(stringBuilder.take('str'), '#7755dd');
stringBuilder.push('a', '8');
assert.equal(stringBuilder.peakInput('a'), undefined);
//# sourceMappingURL=NStringBuilderFrom.js.map