"use strict";
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
Object.defineProperty(exports, "__esModule", { value: true });
const PredefinedTokens_1 = require("../../../ResolvedModel/ExpressionParser/PredefinedTokens");
/**
 * Unit test for PredefinedTokens functions
 */
describe('Cdm/Projection/PredefinedTokensUnitTest', () => {
    /**
     * The path between TestDataPath and TestName.
     */
    const testsSubpath = 'Cdm/Projection/TestPredefinedTokens';
    it('TestGetPredefinedTokens', () => {
        const tokens = PredefinedTokens_1.PredefinedTokens.getPredefinedTokens();
        const expected = 'always depth maxDepth noMaxDepth isArray cardinality.minimum cardinality.maximum referenceOnly normalized structured virtual';
        const actual = tokens.join(' ');
        expect(actual)
            .toEqual(expected);
    });
    it('TestPredefinedConstants', () => {
        const constants = PredefinedTokens_1.PredefinedTokens.getPredefinedConstants();
        const expected = 'true false';
        const actual = constants.join(' ');
        expect(actual)
            .toEqual(expected);
    });
    it('TestGetSupportedOperators', () => {
        const ops = PredefinedTokens_1.PredefinedTokens.getSupportedOperators();
        // all expect the '!' operator since that is tagged separately
        const expected = '&& || > < == != >= <=';
        const actual = ops.join(' ');
        expect(actual)
            .toEqual(expected);
    });
    it('TestGetSupportedParenthesis', () => {
        const ops = PredefinedTokens_1.PredefinedTokens.getSupportedParenthesis();
        const expected = '( )';
        const actual = ops.join(' ');
        expect(actual)
            .toEqual(expected);
    });
});
//# sourceMappingURL=PredefinedTokens.test.js.map