Skip to content

Commit b3e01df

Browse files
authored
Update test.ndarray.js
Signed-off-by: JaySoni1 <[email protected]>
1 parent 5939620 commit b3e01df

File tree

1 file changed

+73
-20
lines changed

1 file changed

+73
-20
lines changed

lib/node_modules/@stdlib/lapack/base/dge-trans/test/test.ndarray.js

Lines changed: 73 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,52 +21,105 @@
2121
// MODULES //
2222

2323
var tape = require('tape');
24-
var ndarray = require('./path/to/ndarray'); // Replace with actual path
24+
var ndarray = require('./path/to/ndarray'); // <-- Update with the actual relative path
2525

2626

2727
// TESTS //
2828

2929
tape('main export is a function', function test(t) {
30-
t.ok(true, __filename);
3130
t.strictEqual(typeof ndarray, 'function', 'main export is a function');
3231
t.end();
3332
});
3433

35-
tape('should create an ndarray with specified shape', function test(t) {
34+
tape('should create an ndarray with specified shape, strides, offset, and order', function test(t) {
35+
var data = [1, 2, 3, 4];
36+
var shape = [2, 2];
3637
var strides = [2, 1];
3738
var offset = 0;
38-
var shape = [2, 2];
3939
var order = 'row-major';
40+
41+
var arr = ndarray('generic', data, shape, strides, offset, order);
42+
43+
t.strictEqual(arr.shape.length, 2, 'shape has two dimensions');
44+
t.deepEqual(arr.shape, [2, 2], 'shape is [2,2]');
45+
t.deepEqual(arr.strides, strides, 'strides are correct');
46+
t.strictEqual(arr.offset, offset, 'offset is correct');
47+
t.strictEqual(arr.order, order, 'order is correct');
48+
49+
t.end();
50+
});
51+
52+
tape('should get elements correctly', function test(t) {
4053
var data = [1, 2, 3, 4];
54+
var shape = [2, 2];
55+
var strides = [2, 1];
56+
var offset = 0;
57+
var order = 'row-major';
4158

4259
var arr = ndarray('generic', data, shape, strides, offset, order);
4360

44-
t.strictEqual(arr.shape.length, 2, 'has two dimensions');
45-
t.deepEqual(arr.shape, [2, 2], 'correct shape');
46-
t.strictEqual(arr.get(0, 0), 1, 'correct value at (0, 0)');
47-
t.strictEqual(arr.get(0, 1), 2, 'correct value at (0, 1)');
48-
t.strictEqual(arr.get(1, 0), 3, 'correct value at (1, 0)');
49-
t.strictEqual(arr.get(1, 1), 4, 'correct value at (1, 1)');
61+
t.strictEqual(arr.get(0, 0), 1, 'element (0,0) === 1');
62+
t.strictEqual(arr.get(0, 1), 2, 'element (0,1) === 2');
63+
t.strictEqual(arr.get(1, 0), 3, 'element (1,0) === 3');
64+
t.strictEqual(arr.get(1, 1), 4, 'element (1,1) === 4');
65+
5066
t.end();
5167
});
5268

53-
tape('should support setting elements', function test(t) {
69+
tape('should set elements correctly', function test(t) {
70+
var data = [0, 0, 0, 0];
71+
var shape = [2, 2];
5472
var strides = [2, 1];
5573
var offset = 0;
74+
var order = 'row-major';
75+
76+
var arr = ndarray('generic', data, shape, strides, offset, order);
77+
78+
arr.set(0, 0, 10);
79+
arr.set(0, 1, 20);
80+
arr.set(1, 0, 30);
81+
arr.set(1, 1, 40);
82+
83+
t.strictEqual(arr.get(0, 0), 10, 'element (0,0) === 10');
84+
t.strictEqual(arr.get(0, 1), 20, 'element (0,1) === 20');
85+
t.strictEqual(arr.get(1, 0), 30, 'element (1,0) === 30');
86+
t.strictEqual(arr.get(1, 1), 40, 'element (1,1) === 40');
87+
88+
t.end();
89+
});
90+
91+
tape('should respect offset', function test(t) {
92+
var data = [99, 1, 2, 3, 4]; // Offset skips 99
5693
var shape = [2, 2];
94+
var strides = [2, 1];
95+
var offset = 1;
96+
var order = 'row-major';
97+
98+
var arr = ndarray('generic', data, shape, strides, offset, order);
99+
100+
t.strictEqual(arr.get(0, 0), 1, 'element (0,0) === 1');
101+
t.strictEqual(arr.get(0, 1), 2, 'element (0,1) === 2');
102+
t.strictEqual(arr.get(1, 0), 3, 'element (1,0) === 3');
103+
t.strictEqual(arr.get(1, 1), 4, 'element (1,1) === 4');
104+
105+
t.end();
106+
});
107+
108+
tape('should throw error when accessing out-of-bounds indices (optional, depends on implementation)', function test(t) {
109+
var data = [1, 2, 3, 4];
110+
var shape = [2, 2];
111+
var strides = [2, 1];
112+
var offset = 0;
57113
var order = 'row-major';
58-
var data = [0, 0, 0, 0];
59114

60115
var arr = ndarray('generic', data, shape, strides, offset, order);
61116

62-
arr.set(0, 0, 5);
63-
arr.set(0, 1, 6);
64-
arr.set(1, 0, 7);
65-
arr.set(1, 1, 8);
117+
try {
118+
arr.get(2, 0);
119+
t.fail('should throw an error for out-of-bounds');
120+
} catch (err) {
121+
t.pass('throws error for out-of-bounds');
122+
}
66123

67-
t.strictEqual(arr.get(0, 0), 5, 'value set at (0, 0)');
68-
t.strictEqual(arr.get(0, 1), 6, 'value set at (0, 1)');
69-
t.strictEqual(arr.get(1, 0), 7, 'value set at (1, 0)');
70-
t.strictEqual(arr.get(1, 1), 8, 'value set at (1, 1)');
71124
t.end();
72125
});

0 commit comments

Comments
 (0)