"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/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_1.default.equal(stringBuilder.take('str'), '');
assert_1.default.equal(stringBuilder.take('str'), undefined);
assert_1.default.equal(stringBuilder.peakInput('n'), undefined);
assert_1.default.equal(stringBuilder.peakInput('a'), undefined);
assert_1.default.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_1.default.equal(stringBuilder.take('str'), '#7755dd');
assert_1.default.equal(stringBuilder.take('str'), undefined);
assert_1.default.equal(stringBuilder.peakInput('n'), undefined);
assert_1.default.equal(stringBuilder.peakInput('a'), undefined);
assert_1.default.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_1.default.equal(stringBuilder.take('str'), '#7755dd');
stringBuilder.push('a', '8');
assert_1.default.equal(stringBuilder.peakInput('a'), undefined);
//# sourceMappingURL=NStringBuilderFrom.js.map