UNPKG

@informalsystems/quint

Version:

Core tool for the Quint specification language

31 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const mocha_1 = require("mocha"); const chai_1 = require("chai"); const builtinSignatures_1 = require("../../src/types/builtinSignatures"); const parser_1 = require("../../src/types/parser"); const printing_1 = require("../../src/types/printing"); (0, mocha_1.describe)('getSignatures', () => { const signatures = (0, builtinSignatures_1.getSignatures)(); (0, mocha_1.it)('contains quantified signatures for List', () => { const listSignature = signatures.get('List'); const expectedSignature = { type: (0, parser_1.parseTypeOrThrow)('(a, a, a) => List[a]'), typeVariables: new Set(['a']), rowVariables: new Set([]), }; const result = listSignature(3); chai_1.assert.deepEqual(result, expectedSignature, `expected ${(0, printing_1.typeSchemeToString)(expectedSignature)}, got ${(0, printing_1.typeSchemeToString)(result)}`); }); (0, mocha_1.it)('contains quantified signatures for tuples', () => { const tuplesSignature = signatures.get('tuples'); const expectedSignature = { type: (0, parser_1.parseTypeOrThrow)('(Set[t0], Set[t1], Set[t2]) => Set[(t0, t1, t2)]'), typeVariables: new Set(['t0', 't1', 't2']), rowVariables: new Set([]), }; const result = tuplesSignature(3); chai_1.assert.deepEqual(result, expectedSignature, `expected ${(0, printing_1.typeSchemeToString)(expectedSignature)}, got ${(0, printing_1.typeSchemeToString)(result)}`); }); }); //# sourceMappingURL=builtinSignatures.test.js.map