@neurodevs/node-lsl 12.0.0 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/__tests__/AbstractPackageTest.d.ts +3 -3
- package/build/__tests__/AbstractPackageTest.js +34 -39
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/LiblslAdapter.test.d.ts +3 -1
- package/build/__tests__/impl/LiblslAdapter.test.js +177 -142
- package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -1
- package/build/__tests__/impl/LslEventMarkerOutlet.test.d.ts +1 -1
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js +39 -44
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInfo.test.d.ts +1 -1
- package/build/__tests__/impl/LslStreamInfo.test.js +51 -58
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +2 -1
- package/build/__tests__/impl/LslStreamInlet.test.js +23 -21
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamOutlet.test.d.ts +2 -2
- package/build/__tests__/impl/LslStreamOutlet.test.js +56 -61
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
- package/build/__tests__/impl/LslWebSocketBridge.test.d.ts +2 -2
- package/build/__tests__/impl/LslWebSocketBridge.test.js +8 -45
- package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
- package/build/assertions.d.ts +1 -1
- package/build/assertions.js +13 -20
- package/build/assertions.js.map +1 -1
- package/build/consts.js +2 -5
- package/build/consts.js.map +1 -1
- package/build/impl/LiblslAdapter.d.ts +5 -4
- package/build/impl/LiblslAdapter.js +60 -51
- package/build/impl/LiblslAdapter.js.map +1 -1
- package/build/impl/LslEventMarkerOutlet.d.ts +3 -3
- package/build/impl/LslEventMarkerOutlet.js +10 -12
- package/build/impl/LslEventMarkerOutlet.js.map +1 -1
- package/build/impl/LslStreamInfo.d.ts +1 -1
- package/build/impl/LslStreamInfo.js +19 -16
- package/build/impl/LslStreamInfo.js.map +1 -1
- package/build/impl/LslStreamInlet.d.ts +5 -2
- package/build/impl/LslStreamInlet.js +17 -14
- package/build/impl/LslStreamInlet.js.map +1 -1
- package/build/impl/LslStreamOutlet.d.ts +2 -2
- package/build/impl/LslStreamOutlet.js +20 -21
- package/build/impl/LslStreamOutlet.js.map +1 -1
- package/build/impl/LslWebSocketBridge.js +2 -4
- package/build/impl/LslWebSocketBridge.js.map +1 -1
- package/build/index.d.ts +34 -34
- package/build/index.js +34 -71
- package/build/index.js.map +1 -1
- package/build/scripts/runLslEventMarkerOutlet.js +2 -7
- package/build/scripts/runLslEventMarkerOutlet.js.map +1 -1
- package/build/scripts/runLslStreamOutlet.js +2 -7
- package/build/scripts/runLslStreamOutlet.js.map +1 -1
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.d.ts +2 -2
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js +5 -8
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -1
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.d.ts +2 -2
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js +12 -15
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +1 -1
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +2 -2
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js +4 -9
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -1
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts +2 -2
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js +2 -5
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -1
- package/build/testDoubles/Liblsl/FakeLiblsl.d.ts +4 -1
- package/build/testDoubles/Liblsl/FakeLiblsl.js +23 -15
- package/build/testDoubles/Liblsl/FakeLiblsl.js.map +1 -1
- package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +2 -2
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js +3 -6
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +2 -2
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js +2 -8
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +1 -1
- package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +4 -2
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js +7 -5
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -1
- package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +3 -2
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js +5 -9
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -1
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.d.ts +3 -3
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +16 -21
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -1
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.d.ts +1 -1
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js +2 -5
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js.map +1 -1
- package/build/testDoubles/consts.js +4 -7
- package/build/testDoubles/consts.js.map +1 -1
- package/build/testDoubles/generateRandomOutletOptions.d.ts +1 -1
- package/build/testDoubles/generateRandomOutletOptions.js +14 -20
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
- package/build/types.d.ts +8 -3
- package/build/types.js +1 -2
- package/build/validations.js +4 -10
- package/build/validations.js.map +1 -1
- package/package.json +4 -6
- package/src/__tests__/AbstractPackageTest.ts +14 -13
- package/src/__tests__/impl/LiblslAdapter.test.ts +49 -28
- package/src/__tests__/impl/LslEventMarkerOutlet.test.ts +8 -7
- package/src/__tests__/impl/LslStreamInfo.test.ts +6 -5
- package/src/__tests__/impl/LslStreamInlet.test.ts +18 -5
- package/src/__tests__/impl/LslStreamOutlet.test.ts +10 -10
- package/src/__tests__/impl/LslWebSocketBridge.test.ts +5 -3
- package/src/assertions.ts +3 -3
- package/src/impl/LiblslAdapter.ts +33 -21
- package/src/impl/LslEventMarkerOutlet.ts +5 -5
- package/src/impl/LslStreamInfo.ts +4 -3
- package/src/impl/LslStreamInlet.ts +16 -5
- package/src/impl/LslStreamOutlet.ts +7 -4
- package/src/index.ts +34 -34
- package/src/scripts/runLslEventMarkerOutlet.ts +1 -1
- package/src/scripts/runLslStreamOutlet.ts +1 -1
- package/src/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.ts +2 -2
- package/src/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.ts +4 -3
- package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +3 -3
- package/src/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.ts +2 -2
- package/src/testDoubles/Liblsl/FakeLiblsl.ts +9 -1
- package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +2 -2
- package/src/testDoubles/StreamInfo/SpyStreamInfo.ts +1 -1
- package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +9 -2
- package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +8 -2
- package/src/testDoubles/StreamOutlet/FakeStreamOutlet.ts +7 -3
- package/src/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.ts +1 -1
- package/src/testDoubles/generateRandomOutletOptions.ts +3 -2
- package/src/types.ts +10 -3
- package/tsconfig.json +17 -28
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const FakeStreamOutlet_1 = __importDefault(require("../../testDoubles/StreamOutlet/FakeStreamOutlet"));
|
|
18
|
-
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
19
|
-
class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
7
|
+
import { randomInt } from 'crypto';
|
|
8
|
+
import generateId from '@neurodevs/generate-id';
|
|
9
|
+
import { assert, test } from '@neurodevs/node-tdd';
|
|
10
|
+
import LslEventMarkerOutlet from '../../impl/LslEventMarkerOutlet.js';
|
|
11
|
+
import generateRandomOutletOptions from '../../testDoubles/generateRandomOutletOptions.js';
|
|
12
|
+
import FakeStreamOutlet from '../../testDoubles/StreamOutlet/FakeStreamOutlet.js';
|
|
13
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
14
|
+
export default class EventMarkerOutletTest extends AbstractPackageTest {
|
|
15
|
+
static instance;
|
|
20
16
|
static async beforeEach() {
|
|
21
17
|
await super.beforeEach();
|
|
22
18
|
this.setFakeLiblsl();
|
|
@@ -25,10 +21,10 @@ class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
|
25
21
|
this.instance = await this.LslEventMarkerOutlet();
|
|
26
22
|
}
|
|
27
23
|
static async createsInstance() {
|
|
28
|
-
|
|
24
|
+
assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
29
25
|
}
|
|
30
26
|
static async loadsWithEventMarkerSpecificOptions() {
|
|
31
|
-
|
|
27
|
+
assert.isEqualDeep(FakeStreamOutlet.callsToConstructor[0].options, {
|
|
32
28
|
name: 'Event markers',
|
|
33
29
|
type: 'Markers',
|
|
34
30
|
channelNames: ['Markers'],
|
|
@@ -42,21 +38,21 @@ class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
|
42
38
|
});
|
|
43
39
|
}
|
|
44
40
|
static async canOverrideDefaultOptions() {
|
|
45
|
-
const options = (
|
|
41
|
+
const options = generateRandomOutletOptions();
|
|
46
42
|
await this.LslEventMarkerOutlet(options);
|
|
47
|
-
|
|
43
|
+
assert.isEqualDeep(FakeStreamOutlet.callsToConstructor[1].options, options);
|
|
48
44
|
}
|
|
49
45
|
static async pushingSingleMarkerIncrementsHitCountAndWaitTime() {
|
|
50
46
|
const markers = [this.generateDurationMarker()];
|
|
51
47
|
await this.instance.pushMarkers(markers);
|
|
52
48
|
const marker = markers[0];
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
assert.isEqual(FakeStreamOutlet.callsToPushSample[0][0], marker.name, 'Pushed the wrong marker!');
|
|
50
|
+
assert.isEqual(this.instance.totalWaitTimeMs, marker.durationMs);
|
|
55
51
|
}
|
|
56
52
|
static async pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice() {
|
|
57
53
|
const markers = await this.pushTotalMarkers(2);
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
assert.isEqual(FakeStreamOutlet.callsToPushSample.length, 2);
|
|
55
|
+
assert.isEqual(this.instance.totalWaitTimeMs, markers[0].durationMs + markers[1].durationMs);
|
|
60
56
|
}
|
|
61
57
|
static async canStopEventMarkersMidPush(bailIdx) {
|
|
62
58
|
let hitCount = 0;
|
|
@@ -68,7 +64,7 @@ class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
|
68
64
|
}
|
|
69
65
|
};
|
|
70
66
|
await this.pushTotalMarkers(10);
|
|
71
|
-
|
|
67
|
+
assert.isEqual(hitCount, bailIdx);
|
|
72
68
|
}
|
|
73
69
|
static async canStartAgainAfterStopping() {
|
|
74
70
|
this.instance.stop();
|
|
@@ -78,7 +74,7 @@ class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
|
78
74
|
hitCount++;
|
|
79
75
|
};
|
|
80
76
|
await this.pushTotalMarkers(10);
|
|
81
|
-
|
|
77
|
+
assert.isEqual(hitCount, 10);
|
|
82
78
|
}
|
|
83
79
|
static async doesNotWaitIfStopped() {
|
|
84
80
|
await this.setupOutlet();
|
|
@@ -87,23 +83,23 @@ class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
|
87
83
|
this.instance.stop();
|
|
88
84
|
await promise;
|
|
89
85
|
const endMs = Date.now();
|
|
90
|
-
|
|
86
|
+
assert.isBelow(endMs - startMs, 10);
|
|
91
87
|
}
|
|
92
88
|
static async clearsTheTimeoutOnStop() {
|
|
93
89
|
void this.pushTotalMarkers(2, 100);
|
|
94
90
|
this.instance.stop();
|
|
95
|
-
this.streamOutlet.pushSample = () =>
|
|
91
|
+
this.streamOutlet.pushSample = () => assert.fail('Should not have been called');
|
|
96
92
|
}
|
|
97
93
|
static async pushMarkerCallsPushSampleOnMarkerOutlet() {
|
|
98
|
-
const markerName = (
|
|
94
|
+
const markerName = generateId();
|
|
99
95
|
this.instance.pushMarker(markerName);
|
|
100
|
-
|
|
96
|
+
assert.isEqual(FakeStreamOutlet.callsToPushSample[0][0], markerName);
|
|
101
97
|
}
|
|
102
98
|
static get streamOutlet() {
|
|
103
99
|
return this.instance.getStreamOutlet();
|
|
104
100
|
}
|
|
105
101
|
static async setupOutlet() {
|
|
106
|
-
|
|
102
|
+
LslEventMarkerOutlet.Class = LslEventMarkerOutlet;
|
|
107
103
|
this.instance = await this.LslEventMarkerOutlet();
|
|
108
104
|
}
|
|
109
105
|
static async pushTotalMarkers(total, durationMs) {
|
|
@@ -115,45 +111,44 @@ class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
|
115
111
|
}
|
|
116
112
|
static generateDurationMarker(durationMs) {
|
|
117
113
|
return {
|
|
118
|
-
name: (
|
|
119
|
-
durationMs: durationMs ??
|
|
114
|
+
name: generateId(),
|
|
115
|
+
durationMs: durationMs ?? randomInt(100, 1000),
|
|
120
116
|
};
|
|
121
117
|
}
|
|
122
118
|
static async LslEventMarkerOutlet(options) {
|
|
123
|
-
return (await
|
|
119
|
+
return (await LslEventMarkerOutlet.Create(options));
|
|
124
120
|
}
|
|
125
121
|
}
|
|
126
|
-
exports.default = EventMarkerOutletTest;
|
|
127
122
|
__decorate([
|
|
128
|
-
|
|
123
|
+
test()
|
|
129
124
|
], EventMarkerOutletTest, "createsInstance", null);
|
|
130
125
|
__decorate([
|
|
131
|
-
|
|
126
|
+
test()
|
|
132
127
|
], EventMarkerOutletTest, "loadsWithEventMarkerSpecificOptions", null);
|
|
133
128
|
__decorate([
|
|
134
|
-
|
|
129
|
+
test()
|
|
135
130
|
], EventMarkerOutletTest, "canOverrideDefaultOptions", null);
|
|
136
131
|
__decorate([
|
|
137
|
-
|
|
132
|
+
test()
|
|
138
133
|
], EventMarkerOutletTest, "pushingSingleMarkerIncrementsHitCountAndWaitTime", null);
|
|
139
134
|
__decorate([
|
|
140
|
-
|
|
135
|
+
test()
|
|
141
136
|
], EventMarkerOutletTest, "pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice", null);
|
|
142
137
|
__decorate([
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
138
|
+
test('can stop on the first marker', 1),
|
|
139
|
+
test('can stop on the second marker', 2),
|
|
140
|
+
test('can stop on the third marker', 3)
|
|
146
141
|
], EventMarkerOutletTest, "canStopEventMarkersMidPush", null);
|
|
147
142
|
__decorate([
|
|
148
|
-
|
|
143
|
+
test()
|
|
149
144
|
], EventMarkerOutletTest, "canStartAgainAfterStopping", null);
|
|
150
145
|
__decorate([
|
|
151
|
-
|
|
146
|
+
test()
|
|
152
147
|
], EventMarkerOutletTest, "doesNotWaitIfStopped", null);
|
|
153
148
|
__decorate([
|
|
154
|
-
|
|
149
|
+
test()
|
|
155
150
|
], EventMarkerOutletTest, "clearsTheTimeoutOnStop", null);
|
|
156
151
|
__decorate([
|
|
157
|
-
|
|
152
|
+
test()
|
|
158
153
|
], EventMarkerOutletTest, "pushMarkerCallsPushSampleOnMarkerOutlet", null);
|
|
159
154
|
//# sourceMappingURL=LslEventMarkerOutlet.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslEventMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslEventMarkerOutlet.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LslEventMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslEventMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,82 +1,77 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const consts_1 = require("../../consts");
|
|
16
|
-
const LslStreamInfo_1 = __importDefault(require("../../impl/LslStreamInfo"));
|
|
17
|
-
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
18
|
-
class LslStreamInfoTest extends AbstractPackageTest_1.default {
|
|
7
|
+
import generateId from '@neurodevs/generate-id';
|
|
8
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
9
|
+
import { CHANNEL_FORMATS } from '../../consts.js';
|
|
10
|
+
import LslStreamInfo from '../../impl/LslStreamInfo.js';
|
|
11
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
12
|
+
export default class LslStreamInfoTest extends AbstractPackageTest {
|
|
13
|
+
static instance;
|
|
19
14
|
static async beforeEach() {
|
|
20
15
|
await super.beforeEach();
|
|
21
16
|
this.setSpyStreamInfo();
|
|
22
17
|
this.instance = this.LslStreamInfo();
|
|
23
18
|
}
|
|
24
19
|
static async createsInstance() {
|
|
25
|
-
|
|
20
|
+
assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
26
21
|
}
|
|
27
22
|
static async generatesUniqueNameIfNotProvided() {
|
|
28
23
|
const instance1 = this.LslStreamInfo({ name: undefined });
|
|
29
24
|
const instance2 = this.LslStreamInfo({ name: undefined });
|
|
30
|
-
|
|
25
|
+
assert.isNotEqual(instance1.getName(), instance2.getName(), 'Inlet names should be unique!');
|
|
31
26
|
}
|
|
32
27
|
static async uniqueNameHasSetPrefix() {
|
|
33
28
|
const instance = this.LslStreamInfo({ name: undefined });
|
|
34
|
-
|
|
29
|
+
assert.doesInclude(instance.getName(), 'lsl-stream-info-', 'Name should have set prefix!');
|
|
35
30
|
}
|
|
36
31
|
static async canManuallySetName() {
|
|
37
|
-
const name = (
|
|
32
|
+
const name = generateId();
|
|
38
33
|
const instance = this.LslStreamInfo({ name });
|
|
39
|
-
|
|
34
|
+
assert.isEqual(instance.getName(), name, 'Name should be set to provided value!');
|
|
40
35
|
}
|
|
41
36
|
static async generatesUniqueTypeIfNotProvided() {
|
|
42
37
|
const instance1 = this.LslStreamInfo({ type: undefined });
|
|
43
38
|
const instance2 = this.LslStreamInfo({ type: undefined });
|
|
44
|
-
|
|
39
|
+
assert.isNotEqual(instance1.getType(), instance2.getType(), 'Inlet types should be unique!');
|
|
45
40
|
}
|
|
46
41
|
static async canManuallySetType() {
|
|
47
|
-
const type = (
|
|
42
|
+
const type = generateId();
|
|
48
43
|
const instance = this.LslStreamInfo({ type });
|
|
49
|
-
|
|
44
|
+
assert.isEqual(instance.getType(), type, 'Type should be set to provided value!');
|
|
50
45
|
}
|
|
51
46
|
static async generatesUniqueSourceIdIfNotProvided() {
|
|
52
47
|
const instance1 = this.LslStreamInfo({ sourceId: undefined });
|
|
53
48
|
const instance2 = this.LslStreamInfo({ sourceId: undefined });
|
|
54
|
-
|
|
49
|
+
assert.isNotEqual(instance1.getSourceId(), instance2.getSourceId(), 'Inlet sourceIds should be unique!');
|
|
55
50
|
}
|
|
56
51
|
static async canManuallySetSourceId() {
|
|
57
|
-
const sourceId = (
|
|
52
|
+
const sourceId = generateId();
|
|
58
53
|
const instance = this.LslStreamInfo({ sourceId });
|
|
59
|
-
|
|
54
|
+
assert.isEqual(instance.getSourceId(), sourceId, 'SourceId should be set to provided value!');
|
|
60
55
|
}
|
|
61
56
|
static async setsUnitsToNAIfNotProvided() {
|
|
62
|
-
|
|
57
|
+
assert.isEqual(this.instance.getUnits(), 'N/A', 'Units should be set to "N/A"!');
|
|
63
58
|
}
|
|
64
59
|
static async canManuallySetUnits() {
|
|
65
|
-
const units = (
|
|
60
|
+
const units = generateId();
|
|
66
61
|
const instance = this.LslStreamInfo({ units });
|
|
67
|
-
|
|
62
|
+
assert.isEqual(instance.getUnits(), units, 'Units should be set to provided value!');
|
|
68
63
|
}
|
|
69
64
|
static async callsBindingsToCreateStreamInfo() {
|
|
70
|
-
|
|
65
|
+
assert.isEqual(this.fakeLiblsl.createStreamInfoHitCount, 1, 'Should have called createStreamInfo!');
|
|
71
66
|
}
|
|
72
67
|
static async passesOptionsToStreamInfo() {
|
|
73
|
-
const randomChannelIdx = Math.floor(Math.random() *
|
|
68
|
+
const randomChannelIdx = Math.floor(Math.random() * CHANNEL_FORMATS.length);
|
|
74
69
|
const options = {
|
|
75
|
-
name: (
|
|
76
|
-
type: (
|
|
77
|
-
sourceId: (
|
|
70
|
+
name: generateId(),
|
|
71
|
+
type: generateId(),
|
|
72
|
+
sourceId: generateId(),
|
|
78
73
|
channelCount: this.channelNames.length,
|
|
79
|
-
channelFormat:
|
|
74
|
+
channelFormat: CHANNEL_FORMATS[randomChannelIdx],
|
|
80
75
|
sampleRate: 100 * Math.random(),
|
|
81
76
|
};
|
|
82
77
|
this.LslStreamInfo(options);
|
|
@@ -84,11 +79,11 @@ class LslStreamInfoTest extends AbstractPackageTest_1.default {
|
|
|
84
79
|
...options,
|
|
85
80
|
channelFormat: randomChannelIdx,
|
|
86
81
|
};
|
|
87
|
-
|
|
82
|
+
assert.isEqualDeep(this.fakeLiblsl.lastCreateStreamInfoOptions, expected, 'Should have passed options to createStreamInfo!');
|
|
88
83
|
}
|
|
89
84
|
static async appendsChannelsToStreamInfo() {
|
|
90
85
|
this.LslStreamInfo({ units: this.units, type: this.type });
|
|
91
|
-
|
|
86
|
+
assert.isEqualDeep(this.fakeLiblsl.lastAppendChannelsToStreamInfoOptions, {
|
|
92
87
|
info: this.instance.getStreamInfo(),
|
|
93
88
|
channels: this.channelNames.map((label) => ({
|
|
94
89
|
label,
|
|
@@ -97,60 +92,58 @@ class LslStreamInfoTest extends AbstractPackageTest_1.default {
|
|
|
97
92
|
})),
|
|
98
93
|
}, 'Should have called appendChannelsToStreamInfo!');
|
|
99
94
|
}
|
|
95
|
+
static defaultOptions = {
|
|
96
|
+
name: generateId(),
|
|
97
|
+
type: generateId(),
|
|
98
|
+
sourceId: generateId(),
|
|
99
|
+
channelNames: this.channelNames,
|
|
100
|
+
channelFormat: 'float32',
|
|
101
|
+
sampleRate: 100 * Math.random(),
|
|
102
|
+
};
|
|
100
103
|
static LslStreamInfo(options) {
|
|
101
|
-
return
|
|
104
|
+
return LslStreamInfo.Create({
|
|
102
105
|
...this.defaultOptions,
|
|
103
106
|
...options,
|
|
104
107
|
});
|
|
105
108
|
}
|
|
106
109
|
}
|
|
107
|
-
_a = LslStreamInfoTest;
|
|
108
|
-
LslStreamInfoTest.defaultOptions = {
|
|
109
|
-
name: (0, generate_id_1.default)(),
|
|
110
|
-
type: (0, generate_id_1.default)(),
|
|
111
|
-
sourceId: (0, generate_id_1.default)(),
|
|
112
|
-
channelNames: _a.channelNames,
|
|
113
|
-
channelFormat: 'float32',
|
|
114
|
-
sampleRate: 100 * Math.random(),
|
|
115
|
-
};
|
|
116
|
-
exports.default = LslStreamInfoTest;
|
|
117
110
|
__decorate([
|
|
118
|
-
|
|
111
|
+
test()
|
|
119
112
|
], LslStreamInfoTest, "createsInstance", null);
|
|
120
113
|
__decorate([
|
|
121
|
-
|
|
114
|
+
test()
|
|
122
115
|
], LslStreamInfoTest, "generatesUniqueNameIfNotProvided", null);
|
|
123
116
|
__decorate([
|
|
124
|
-
|
|
117
|
+
test()
|
|
125
118
|
], LslStreamInfoTest, "uniqueNameHasSetPrefix", null);
|
|
126
119
|
__decorate([
|
|
127
|
-
|
|
120
|
+
test()
|
|
128
121
|
], LslStreamInfoTest, "canManuallySetName", null);
|
|
129
122
|
__decorate([
|
|
130
|
-
|
|
123
|
+
test()
|
|
131
124
|
], LslStreamInfoTest, "generatesUniqueTypeIfNotProvided", null);
|
|
132
125
|
__decorate([
|
|
133
|
-
|
|
126
|
+
test()
|
|
134
127
|
], LslStreamInfoTest, "canManuallySetType", null);
|
|
135
128
|
__decorate([
|
|
136
|
-
|
|
129
|
+
test()
|
|
137
130
|
], LslStreamInfoTest, "generatesUniqueSourceIdIfNotProvided", null);
|
|
138
131
|
__decorate([
|
|
139
|
-
|
|
132
|
+
test()
|
|
140
133
|
], LslStreamInfoTest, "canManuallySetSourceId", null);
|
|
141
134
|
__decorate([
|
|
142
|
-
|
|
135
|
+
test()
|
|
143
136
|
], LslStreamInfoTest, "setsUnitsToNAIfNotProvided", null);
|
|
144
137
|
__decorate([
|
|
145
|
-
|
|
138
|
+
test()
|
|
146
139
|
], LslStreamInfoTest, "canManuallySetUnits", null);
|
|
147
140
|
__decorate([
|
|
148
|
-
|
|
141
|
+
test()
|
|
149
142
|
], LslStreamInfoTest, "callsBindingsToCreateStreamInfo", null);
|
|
150
143
|
__decorate([
|
|
151
|
-
|
|
144
|
+
test()
|
|
152
145
|
], LslStreamInfoTest, "passesOptionsToStreamInfo", null);
|
|
153
146
|
__decorate([
|
|
154
|
-
|
|
147
|
+
test()
|
|
155
148
|
], LslStreamInfoTest, "appendsChannelsToStreamInfo", null);
|
|
156
149
|
//# sourceMappingURL=LslStreamInfo.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInfo.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInfo.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInfo.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractPackageTest from '../AbstractPackageTest';
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
2
|
export default class LslStreamInletTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
@@ -6,5 +6,6 @@ export default class LslStreamInletTest extends AbstractPackageTest {
|
|
|
6
6
|
protected static createsStreamInfoWithExpectedOptions(): Promise<void>;
|
|
7
7
|
protected static uniqueNameHasSetPrefix(): Promise<void>;
|
|
8
8
|
protected static callsBindingsToCreateStreamInlet(): Promise<void>;
|
|
9
|
+
protected static flushSamplesCallsLslBinding(): Promise<void>;
|
|
9
10
|
private static LslStreamInlet;
|
|
10
11
|
}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const FakeStreamInfo_1 = __importDefault(require("../../testDoubles/StreamInfo/FakeStreamInfo"));
|
|
15
|
-
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
16
|
-
class LslStreamInletTest extends AbstractPackageTest_1.default {
|
|
7
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
8
|
+
import LslStreamInlet from '../../impl/LslStreamInlet.js';
|
|
9
|
+
import FakeStreamInfo from '../../testDoubles/StreamInfo/FakeStreamInfo.js';
|
|
10
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
11
|
+
export default class LslStreamInletTest extends AbstractPackageTest {
|
|
12
|
+
static instance;
|
|
17
13
|
static async beforeEach() {
|
|
18
14
|
await super.beforeEach();
|
|
19
15
|
this.setSpyStreamInlet();
|
|
@@ -21,10 +17,10 @@ class LslStreamInletTest extends AbstractPackageTest_1.default {
|
|
|
21
17
|
this.instance = this.LslStreamInlet();
|
|
22
18
|
}
|
|
23
19
|
static async createsInstance() {
|
|
24
|
-
|
|
20
|
+
assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
25
21
|
}
|
|
26
22
|
static async createsStreamInfoWithExpectedOptions() {
|
|
27
|
-
|
|
23
|
+
assert.isEqualDeep(FakeStreamInfo.callsToConstructor[0], {
|
|
28
24
|
channelNames: this.channelNames,
|
|
29
25
|
channelFormat: 'float32',
|
|
30
26
|
sampleRate: 0,
|
|
@@ -35,17 +31,21 @@ class LslStreamInletTest extends AbstractPackageTest_1.default {
|
|
|
35
31
|
}
|
|
36
32
|
static async uniqueNameHasSetPrefix() {
|
|
37
33
|
const instance = this.LslStreamInlet({ name: undefined });
|
|
38
|
-
|
|
34
|
+
assert.doesInclude(instance.getName(), 'lsl-inlet-', 'Name should have set prefix!');
|
|
39
35
|
}
|
|
40
36
|
static async callsBindingsToCreateStreamInlet() {
|
|
41
37
|
const fakeInfo = this.instance.getStreamInfo();
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
assert.isTruthy(fakeInfo, 'Should have created stream info!');
|
|
39
|
+
assert.isEqualDeep(this.fakeLiblsl.lastCreateInletOptions, {
|
|
44
40
|
info: fakeInfo.boundStreamInfo,
|
|
45
41
|
chunkSize: this.chunkSize,
|
|
46
42
|
maxBuffered: this.maxBuffered,
|
|
47
43
|
}, 'Should have called createInlet!');
|
|
48
44
|
}
|
|
45
|
+
static async flushSamplesCallsLslBinding() {
|
|
46
|
+
this.instance.flushSamples();
|
|
47
|
+
assert.isEqualDeep(this.fakeLiblsl.lastFlushInletOptions, { inlet: this.instance.getBoundInlet() }, 'Should have called flushInlet!');
|
|
48
|
+
}
|
|
49
49
|
static LslStreamInlet(options) {
|
|
50
50
|
const defaultOptions = {
|
|
51
51
|
channelNames: this.channelNames,
|
|
@@ -58,20 +58,22 @@ class LslStreamInletTest extends AbstractPackageTest_1.default {
|
|
|
58
58
|
maxBuffered: this.maxBuffered,
|
|
59
59
|
...options,
|
|
60
60
|
};
|
|
61
|
-
return
|
|
61
|
+
return LslStreamInlet.Create(defaultOptions);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
exports.default = LslStreamInletTest;
|
|
65
64
|
__decorate([
|
|
66
|
-
|
|
65
|
+
test()
|
|
67
66
|
], LslStreamInletTest, "createsInstance", null);
|
|
68
67
|
__decorate([
|
|
69
|
-
|
|
68
|
+
test()
|
|
70
69
|
], LslStreamInletTest, "createsStreamInfoWithExpectedOptions", null);
|
|
71
70
|
__decorate([
|
|
72
|
-
|
|
71
|
+
test()
|
|
73
72
|
], LslStreamInletTest, "uniqueNameHasSetPrefix", null);
|
|
74
73
|
__decorate([
|
|
75
|
-
|
|
74
|
+
test()
|
|
76
75
|
], LslStreamInletTest, "callsBindingsToCreateStreamInlet", null);
|
|
76
|
+
__decorate([
|
|
77
|
+
test()
|
|
78
|
+
], LslStreamInletTest, "flushSamplesCallsLslBinding", null);
|
|
77
79
|
//# sourceMappingURL=LslStreamInlet.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInlet.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LslStreamInlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LslSample } from '../../types';
|
|
2
|
-
import AbstractPackageTest from '../AbstractPackageTest';
|
|
1
|
+
import { LslSample } from '../../types.js';
|
|
2
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
3
3
|
export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
4
4
|
private static randomOutletOptions;
|
|
5
5
|
protected static beforeEach(): Promise<void>;
|