jspurefix
Version:
pure node js fix engine
58 lines • 2.81 kB
JavaScript
;
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 LogReplayer_1 = require("../env/LogReplayer");
const root = path.join(__dirname, '../../../data');
let loader;
let result;
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
loader = new LogReplayer_1.StoreLoader('session/test-initiator.json');
yield loader.init();
result = yield loader.replay(path.join(root, 'examples/FIX.4.4/jsfix.test_client.txt'));
}), 45000);
test('expect 15 messages in log', () => {
expect(result.views.length).toEqual(15);
});
test('check messages loaded into store', () => __awaiter(void 0, void 0, void 0, function* () {
const state = yield result.store.getState();
expect(state.lastSeq).toEqual(10);
expect(state.length).toEqual(9);
}));
test('fetch sequence number from store', () => __awaiter(void 0, void 0, void 0, function* () {
const res1 = yield result.store.exists(1);
expect(res1).toBeFalsy();
for (let seq = 2; seq <= 10; ++seq) {
const res = yield result.store.exists(seq);
expect(res).toBeTruthy();
const get = yield result.store.get(seq);
expect(get).toBeTruthy();
}
}));
test('fetch from seqNum to inferred as end ', () => __awaiter(void 0, void 0, void 0, function* () {
const range1 = yield result.store.getSeqNumRange(5);
expect(range1.length).toEqual(6);
expect(range1[0].seqNum).toEqual(5);
expect(range1[range1.length - 1].seqNum).toEqual(10);
}));
test('fetch from seqNum to = start', () => __awaiter(void 0, void 0, void 0, function* () {
const range1 = yield result.store.getSeqNumRange(5, 5);
expect(range1.length).toEqual(1);
expect(range1[0].seqNum).toEqual(5);
}));
test('fetch start from seqNum not in store', () => __awaiter(void 0, void 0, void 0, function* () {
const range1 = yield result.store.getSeqNumRange(1);
expect(range1.length).toEqual(9);
expect(range1[0].seqNum).toEqual(2);
expect(range1[range1.length - 1].seqNum).toEqual(10);
}));
//# sourceMappingURL=memory-store.test.js.map