"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 Divide_1 = __importDefault(require("../../../../system/f/arithmetic/Divide"));
const system_1 = require("../../../util/system");
const divide = new Divide_1.default(system_1.system);
divide.play();
divide.push('a', 1);
divide.push('b', 2);
assert_1.default.equal(divide.peakInput('a'), 1);
assert_1.default.equal(divide.peakInput('b'), 2);
assert_1.default.equal(divide.take('a ÷ b'), 1 / 2);
assert_1.default.equal(divide.peakOutput('a ÷ b'), undefined);
assert_1.default.equal(divide.peakInput('a'), undefined);
assert_1.default.equal(divide.peakInput('b'), undefined);
divide.push('a', 1);
divide.push('b', 0);
assert_1.default.notEqual(divide.getErr(), null);
divide.takeErr();
assert_1.default.equal(divide.peakOutput('a ÷ b'), undefined);
assert_1.default.equal(divide.peakInput('a'), undefined);
assert_1.default.equal(divide.peakInput('b'), undefined);
divide.push('a', 1);
divide.push('b', 0);
assert_1.default.notEqual(divide.getErr(), null);
assert_1.default.equal(divide.peakInput('a'), 1);
assert_1.default.equal(divide.peakInput('b'), 0);
divide.push('b', 1);
assert_1.default.equal(divide.getErr(), null);
assert_1.default.equal(divide.takeInput('a'), 1);
assert_1.default.equal(divide.takeInput('b'), 1);
divide.push('a', 1);
divide.push('b', 0);
assert_1.default.equal(divide.takeInput('b'), 0);
assert_1.default.equal(divide.getErr(), null);
assert_1.default.equal(divide.peakInput('a'), 1);
//# sourceMappingURL=Divide.js.map