-
Notifications
You must be signed in to change notification settings - Fork 85
Expand file tree
/
Copy pathtest-context.js
More file actions
94 lines (77 loc) · 3.01 KB
/
Copy pathtest-context.js
File metadata and controls
94 lines (77 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
// Copyright (c) 2017 Intel Corporation. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import assert from 'assert';
import rclnodejs from '../index.js';
describe('context test suite', function () {
this.timeout(60 * 1000);
it('context constructor', function (done) {
let context = new rclnodejs.Context();
assert.ok(context.isUninitialized());
assert.ok(!context.isInitialized());
assert.ok(!context.isShutdown());
done();
});
it('context defaultContext', function (done) {
let context1 = rclnodejs.Context.defaultContext();
assert.ok(context1.isDefaultContext());
let context2 = rclnodejs.Context.defaultContext();
assert.ok(context2.isDefaultContext());
assert.strictEqual(context1, context2);
let context3 = new rclnodejs.Context();
assert.ok(!context3.isDefaultContext());
context1.shutdown();
context3.shutdown();
let context4 = rclnodejs.Context.defaultContext();
assert.ok(context4.isDefaultContext());
context4.shutdown();
done();
});
it('context initialized', async function () {
let context = new rclnodejs.Context();
await rclnodejs.init(context);
assert.ok(!context.isUninitialized());
assert.ok(context.isInitialized());
assert.ok(!context.isShutdown());
});
it('context basic shutdown', async function () {
let context = new rclnodejs.Context();
await rclnodejs.init(context);
context.shutdown();
assert.ok(!context.isUninitialized());
assert.ok(!context.isInitialized());
assert.ok(context.isShutdown());
});
it('context nodes(), onNodeCreated() & onNodeDestroyed()', async function () {
let context = new rclnodejs.Context();
await rclnodejs.init(context);
let node1 = new rclnodejs.Node('n1', undefined, context);
assert.strictEqual(context.nodes.length, 1);
assert.strictEqual(context.nodes[0].name(), 'n1');
let node2 = new rclnodejs.Node('n2', undefined, context);
assert.strictEqual(context.nodes.length, 2);
context.shutdown();
assert.strictEqual(context.nodes.length, 0);
});
it('context domain id', async function () {
let context = new rclnodejs.Context(BigInt(123));
await rclnodejs.init(context);
assert.strictEqual(typeof context.domainId, 'bigint');
assert.strictEqual(context.domainId, BigInt(123));
});
it('context with default domain id', async function () {
let context = new rclnodejs.Context();
await rclnodejs.init(context);
assert.strictEqual(typeof context.domainId, 'bigint');
});
});