UNPKG

jspurefix

Version:
145 lines 8.4 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); require("reflect-metadata"); const path = require("path"); const util_1 = require("../../util"); const set_constraint_helper_1 = require("../env/set-constraint-helper"); const root = path.join(__dirname, '../env/data'); let definitions; let secHelper; let setHelper; beforeAll(() => __awaiter(void 0, void 0, void 0, function* () { var _a; definitions = yield new util_1.DefinitionFactory().getDefinitions((_a = `${root}/fix5-mod.xml`) !== null && _a !== void 0 ? _a : ''); secHelper = new SecDefHelper(definitions); setHelper = new set_constraint_helper_1.SetConstraintHelper(definitions); }), 45000); class SecDefHelper { constructor(definitions) { this.definitions = definitions; } getSecListGrp() { return this.definitions.getSet('SecurityList.SecListGrp'); } getNumRelatedSym() { var _a, _b; return (_b = (_a = this.getSecListGrp()) === null || _a === void 0 ? void 0 : _a.getSet('NoRelatedSym')) !== null && _b !== void 0 ? _b : undefined; } getSecurityTradingRules() { var _a, _b; return (_b = (_a = this.getNumRelatedSym()) === null || _a === void 0 ? void 0 : _a.getSet('SecurityTradingRules')) !== null && _b !== void 0 ? _b : undefined; } getBaseTradingRules() { var _a, _b; return (_b = (_a = this.getSecurityTradingRules()) === null || _a === void 0 ? void 0 : _a.getSet('BaseTradingRules')) !== null && _b !== void 0 ? _b : undefined; } getTickRules() { var _a, _b; return (_b = (_a = this.getBaseTradingRules()) === null || _a === void 0 ? void 0 : _a.getSet('TickRules')) !== null && _b !== void 0 ? _b : undefined; } getNoTickRules() { var _a, _b; return (_b = (_a = this.getTickRules()) === null || _a === void 0 ? void 0 : _a.getSet('NoTickRules')) !== null && _b !== void 0 ? _b : undefined; } } test('check message SecurityList', () => { var _a; const securityList = (_a = definitions === null || definitions === void 0 ? void 0 : definitions.getSet('SecurityList')) !== null && _a !== void 0 ? _a : undefined; expect(securityList).toBeTruthy(); let index = 0; setHelper.isComponent(securityList, index++, 'StandardHeader', true); setHelper.isSimple(securityList, index++, 'SecurityReqID', false); setHelper.isSimple(securityList, index++, 'SecurityResponseID', false); setHelper.isSimple(securityList, index++, 'SecurityRequestResult', false); setHelper.isSimple(securityList, index++, 'SecurityListRequestType', false); setHelper.isSimple(securityList, index++, 'TotNoRelatedSym', false); setHelper.isSimple(securityList, index++, 'LastFragment', false); setHelper.isComponent(securityList, index++, 'SecListGrp', false); setHelper.isSimple(securityList, index++, 'SecurityReportID', false); setHelper.isSimple(securityList, index++, 'ClearingBusinessDate', false); setHelper.isSimple(securityList, index++, 'MarketID', false); setHelper.isSimple(securityList, index++, 'MarketSegmentID', false); setHelper.isSimple(securityList, index++, 'SecurityListID', false); setHelper.isSimple(securityList, index++, 'SecurityListRefID', false); setHelper.isSimple(securityList, index++, 'SecurityListDesc', false); setHelper.isSimple(securityList, index++, 'EncodedSecurityListDescLen', false); setHelper.isSimple(securityList, index++, 'EncodedSecurityListDesc', false); setHelper.isSimple(securityList, index++, 'SecurityListType', false); setHelper.isSimple(securityList, index++, 'SecurityListTypeSource', false); setHelper.isSimple(securityList, index++, 'TransactTime', false); setHelper.isComponent(securityList, index++, 'StandardTrailer', true); }); test('check SecListGrp', () => { var _a; const secListGrp = secHelper.getSecListGrp(); expect(secListGrp).toBeTruthy(); expect((_a = secListGrp === null || secListGrp === void 0 ? void 0 : secListGrp.fields) === null || _a === void 0 ? void 0 : _a.length).toEqual(1); setHelper.isGroup(secListGrp !== null && secListGrp !== void 0 ? secListGrp : undefined, 0, 'NoRelatedSym', false); }); test('check NoRelatedSym', () => { let index = 0; const noRelatedSym = secHelper.getNumRelatedSym(); setHelper.isComponent(noRelatedSym, index++, 'Instrument', false); setHelper.isComponent(noRelatedSym, index++, 'InstrumentExtension', false); setHelper.isComponent(noRelatedSym, index++, 'FinancingDetails', false); setHelper.isComponent(noRelatedSym, index++, 'UndInstrmtGrp', false); setHelper.isSimple(noRelatedSym, index++, 'Currency', false); setHelper.isSimple(noRelatedSym, index++, 'ContractPositionNumber', false); setHelper.isComponent(noRelatedSym, index++, 'Stipulations', false); setHelper.isComponent(noRelatedSym, index++, 'InstrmtLegSecListGrp', false); setHelper.isComponent(noRelatedSym, index++, 'SpreadOrBenchmarkCurveData', false); setHelper.isComponent(noRelatedSym, index++, 'YieldData', false); setHelper.isSimple(noRelatedSym, index++, 'Text', false); setHelper.isSimple(noRelatedSym, index++, 'EncodedTextLen', false); setHelper.isSimple(noRelatedSym, index++, 'EncodedText', false); setHelper.isComponent(noRelatedSym, index++, 'SecurityTradingRules', false); setHelper.isComponent(noRelatedSym, index++, 'StrikeRules', false); setHelper.isSimple(noRelatedSym, index++, 'RelSymTransactTime', false); }); test('check SecurityTradingRules', () => { let index = 0; const securityTradingRules = secHelper.getSecurityTradingRules(); setHelper.isComponent(securityTradingRules, index++, 'BaseTradingRules', false); setHelper.isComponent(securityTradingRules, index++, 'TradingSessionRulesGrp', false); setHelper.isComponent(securityTradingRules, index++, 'NestedInstrumentAttribute', false); }); test('check BaseTradingRules', () => { let index = 0; const securityTradingRules = secHelper.getBaseTradingRules(); setHelper.isComponent(securityTradingRules, index++, 'TickRules', false); setHelper.isComponent(securityTradingRules, index++, 'LotTypeRules', false); setHelper.isComponent(securityTradingRules, index++, 'PriceLimits', false); setHelper.isSimple(securityTradingRules, index++, 'ExpirationCycle', false); setHelper.isSimple(securityTradingRules, index++, 'MinTradeVol', false); setHelper.isSimple(securityTradingRules, index++, 'MaxTradeVol', false); setHelper.isSimple(securityTradingRules, index++, 'MaxPriceVariation', false); setHelper.isSimple(securityTradingRules, index++, 'ImpliedMarketIndicator', false); setHelper.isSimple(securityTradingRules, index++, 'TradingCurrency', false); setHelper.isSimple(securityTradingRules, index++, 'RoundLot', false); setHelper.isSimple(securityTradingRules, index++, 'MultilegModel', false); setHelper.isSimple(securityTradingRules, index++, 'MultilegPriceMethod', false); setHelper.isSimple(securityTradingRules, index++, 'PriceType', false); }); test('check TickRules', () => { let index = 0; const tickRules = secHelper.getTickRules(); setHelper.isGroup(tickRules, index++, 'NoTickRules', false); }); test('check NoTickRules', () => { let index = 0; const noTickRules = secHelper.getNoTickRules(); setHelper.isSimple(noTickRules, index++, 'StartTickPriceRange', false); setHelper.isSimple(noTickRules, index++, 'EndTickPriceRange', false); setHelper.isSimple(noTickRules, index++, 'TickIncrement', false); setHelper.isSimple(noTickRules, index++, 'TickRuleType', false); }); //# sourceMappingURL=qf-50sp0-dict.test.js.map