nubtest.ts 1.57 KiB
import { ParamCalculability, ParamDefinition, ParamDomainValue } from "../src";
import { Nub } from "../src/nub";
import { ParamsEquation } from "../src/param/params-equation";
import { Result } from "../src/util/result";
export class NubTestParams extends ParamsEquation {
    private _A: ParamDefinition;
    private _B: ParamDefinition;
    private _C: ParamDefinition;
    constructor() {
        super();
        this._A = new ParamDefinition("A", ParamDomainValue.POS_NULL, 1);
        this._B = new ParamDefinition("B", ParamDomainValue.POS_NULL, 2);
        this._C = new ParamDefinition("C", ParamDomainValue.POS_NULL, 3);
        this.addParamDefinition(this._A);
        this.addParamDefinition(this._B);
        this.addParamDefinition(this._C);
    get A() {
        return this._A;
    get B() {
        return this._B;
    get C() {
        return this._C;
// tslint:disable-next-line:max-classes-per-file
export class NubTest extends Nub {
    constructor(prms: NubTestParams, dbg: boolean = false) {
        super(prms, dbg);
    public Equation(): Result {
        // C = A+B
        return new Result(this.prms.A.v + this.prms.B.v);
    protected setParametersCalculability() {
        this.getParameter("A").calculability = ParamCalculability.DICHO;
        this.getParameter("B").calculability = ParamCalculability.DICHO;
        this.getParameter("C").calculability = ParamCalculability.EQUATION;
    get prms(): NubTestParams {
        return this._prms as NubTestParams;
export let nub = new NubTest(new NubTestParams());