UNPKG

@mindconnect/mindconnect-nodejs

Version:

MindConnect Library for NodeJS (community based)

116 lines 5.41 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 }); const chai = require("chai"); require("url-search-params-polyfill"); const sdk_1 = require("../src/api/sdk"); const utils_1 = require("../src/api/utils"); const command_utils_1 = require("../src/cli/commands/command-utils"); chai.should(); describe("[SDK] SignalValidationClient", () => { const auth = utils_1.loadAuth(); const sdk = new sdk_1.MindSphereSdk({ basicAuth: utils_1.decrypt(auth, "passkey.4.unit.test"), tenant: auth.tenant, gateway: auth.gateway }); const signalValidationClient = sdk.GetSignalValidationClient(); it("SDK should not be undefined", () => __awaiter(void 0, void 0, void 0, function* () { sdk.should.not.be.undefined; signalValidationClient.should.not.be.undefined; })); it("Signal Validation should perform a Range Check.", () => __awaiter(void 0, void 0, void 0, function* () { sdk.should.not.be.undefined; signalValidationClient.should.not.be.undefined; const data = command_utils_1.generateTestData(100, x => { return x === 31 ? 120 : Math.sin(x); }); const result = yield signalValidationClient.DetectRangeViolations(data, { variableName: "variable1", lowerLimit: -1, upperLimit: 1 }); result.should.not.be.null; result.length.should.be.equal(1); })); it("Signal Validation should perform a Spike Alert.", () => __awaiter(void 0, void 0, void 0, function* () { const data = command_utils_1.generateTestData(100, x => { return x >= 40 && x <= 42 ? 13 * Math.sin(x) : Math.sin(x); }); const result = yield signalValidationClient.DetectSpikes(data, { variableName: "variable1", windowSize: 20 }); result.length.should.be.equal(2); })); it("Signal Validation should perform Jump Detection.", () => __awaiter(void 0, void 0, void 0, function* () { const data = command_utils_1.generateTestData(100, x => { return x >= 84 && x <= 85 ? 500 * Math.cos(x) : Math.sin(x); }); const result = yield signalValidationClient.DetectJumps(data, { variableName: "variable1", windowSize: 10 }); result.length.should.be.equal(2); })); it("Signal Validation should perform Noise Setection.", () => __awaiter(void 0, void 0, void 0, function* () { const data = command_utils_1.generateTestData(1000, x => { return x % 100 >= 90 && x % 100 <= 100 ? Math.sin(x) * 3.15 : Math.sin(x); }); const result = yield signalValidationClient.DetectNoise(data, { variableName: "variable1", windowRadius: 3, threshold: 1 }); result.length.should.be.equal(7); })); it("Signal Validation should detect Data Gaps.", () => __awaiter(void 0, void 0, void 0, function* () { const data = command_utils_1.generateTestData(1000, x => { if (x % 100 === 80 || x % 100 === 81) return undefined; return Math.sin(x); }); const result = yield signalValidationClient.DetectGaps(data, { variableName: "variable1", threshold: 1500 }); result.events.length.should.be.equal(20); })); it("Signal Validation should interpolate Data Gaps.", () => __awaiter(void 0, void 0, void 0, function* () { const data = command_utils_1.generateTestData(1000, x => { if (x % 100 === 80 || x % 100 === 81) return undefined; return Math.sin(x); }); const result = yield signalValidationClient.DetectGapsAndInterpolate(data, { variableName: "variable1", threshold: 1500 }); result.events.length.should.be.equal(20); result.interpolatedMeasurements.length.should.be.equal(20); })); it("Signal Validation should detect Bias.", () => __awaiter(void 0, void 0, void 0, function* () { const data = command_utils_1.generateTestData(1000, x => { if (x % 100 >= 80 && x % 100 <= 85) return 4 * Math.sin(x); else return 4; }); const result = yield signalValidationClient.DetectBias(data, { variableName: "variable1", windowSize: 20, step: 10, threshold: 3 }); result.length.should.equal(97); })); }); //# sourceMappingURL=signal-validation.spec.js.map