Skip to content

Commit f078ef3

Browse files
committed
adding unit-test
1 parent 2d9489d commit f078ef3

File tree

5 files changed

+111
-5
lines changed

5 files changed

+111
-5
lines changed

src/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function _throwArgumentsError(msg) {
5050
* @param {function?} fn2 复制数组时候,每遍历i行j列时候的回调
5151
* @return {Array}
5252
* **/
53-
function _clone(arr, fn1, fn2) {//todo 需要将二维数组遍历方式统一
53+
function _clone(arr, fn1, fn2) {
5454
let result = [];
5555
arr.forEach((row, i)=>{
5656
fn1 && fn1(row, i, arr);

test/computation.test.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

test/constructor.test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ describe('Constructor Test 构造函数测试', function () {
5959
let arr = [[1, 4.4],[2, 3],[3, 6.7]];
6060
let m = new Matrix(arr);
6161
assert.notEqual(m._data, arr);
62-
m._data.forEach((row, i)=>assert.notEqual(row, arr[i]));
62+
assert.isTrue(m._data.every((row, i)=>row !== arr[i]));
6363
});
6464
});
6565

@@ -71,8 +71,9 @@ describe('Constructor Test 构造函数测试', function () {
7171
});
7272
it('两个矩阵的_data是副本', function () {
7373
let mc = new Matrix(m);
74+
assert.notEqual(m, mc);
7475
assert.notEqual(mc._data, m._data);
75-
mc._data.forEach((row, i)=>assert.notEqual(row, m._data[i]));
76+
assert.isTrue(mc._data.every((row, i)=>row !== m._data[i]));
7677
});
7778
});
7879
});

test/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ let mocha = new Mocha({
1212
/**======================= 添加测试用例文件 ===========================**/
1313
mocha.addFile(__dirname + '/constructor.test.js');
1414
mocha.addFile(__dirname + '/operation.test.js');
15-
mocha.addFile(__dirname + '/computation.test.js');
15+
// mocha.addFile(__dirname + '/computation.test.js');
1616

1717

1818
/**======================= 添加测试用例文件end ===========================**/

test/plus-minus.test.js

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
const {assert} = require('chai');
2+
const Matrix = require('../src/main');
3+
4+
let arr1 = [
5+
[1.1, 2.3, 4.4],
6+
[4 , 4.6, 17 ]
7+
];
8+
let arr2 = [
9+
[2.2, 2.5, 8.9],
10+
[4 , 4.6, 17 ]
11+
];
12+
let arr3 = [
13+
[2.2, 2.5],
14+
[4 , 4.6],
15+
[7 , 11 ]
16+
];
17+
let arr4 = [
18+
[3.3, 4.8, 13.3],
19+
[8 , 9.2, 34 ]
20+
];
21+
22+
23+
describe('相等判断方法测试 equal test', function () {
24+
describe('public相等测试 m.equal() & m.eq()', function () {
25+
it('m.equal与m.eq相同', function () {
26+
let m = new Matrix(arr1);
27+
assert.equal(m.eq, m.equal);
28+
});
29+
it('m.equal与m.eq均为函数', function () {
30+
let m = new Matrix(arr1);
31+
assert.isFunction(m);
32+
});
33+
it('参数不为Matrix,报错', function () {
34+
let m = new Matrix(arr1);
35+
assert.throw()//todo 加减运算单元测试待完成
36+
});
37+
it('原矩阵不变');
38+
it('返回布尔值');
39+
it('结果正确');
40+
});
41+
42+
describe('static相等测试 Matrix.equal() & Matrix.eq()', function () {
43+
it('Matrix.equal与Matrix.eq相同');
44+
it('Matrix.equal与Matrix.eq均为函数');
45+
46+
it('参数有不为Matrix的,报错');
47+
it('原矩阵不变');
48+
it('返回布尔值');
49+
it('结果正确');
50+
});
51+
52+
});
53+
54+
55+
describe('加法功能测试 plus test', function () {
56+
describe('public加法测试 m.plus() & m.add()', function () {
57+
it('m.plus与m.add相同');
58+
it('m.plus与m.add均为函数');
59+
it('参数有不为Matrix的,报错');
60+
it('行不相等,报错');
61+
it('列不相等,报错');
62+
it('避免js浮点运算精度问题');
63+
it('原矩阵不变');
64+
it('返回新的矩阵');
65+
it('结果正确');
66+
it('连续加法结果正确');
67+
});
68+
69+
describe('static加法测试 Matrix.plus() & Matrix.add()', function () {
70+
it('Matrix.plus与Matrix.add相同');
71+
it('Matrix.plus与Matrix.add均为函数');
72+
it('参数有不为Matrix的,报错');
73+
it('行不相等,报错');
74+
it('列不相等,报错');
75+
it('避免js浮点运算精度问题');
76+
it('原矩阵不变');
77+
it('返回新的矩阵');
78+
it('结果正确');
79+
it('连续加法结果正确');
80+
});
81+
82+
});
83+
84+
describe('减法功能测试 minus test', function () {
85+
describe('public减法测试 m.minus()', function () {
86+
it('参数有不为Matrix的,报错');
87+
it('行不相等,报错');
88+
it('列不相等,报错');
89+
it('避免js浮点运算精度问题');
90+
it('原矩阵不变');
91+
it('返回新的矩阵');
92+
it('结果正确');
93+
it('连续减法结果正确');
94+
});
95+
96+
describe('static减法测试 Matrix.minus()', function () {
97+
it('参数有不为Matrix的,报错');
98+
it('行不相等,报错');
99+
it('列不相等,报错');
100+
it('避免js浮点运算精度问题');
101+
it('原矩阵不变');
102+
it('返回新的矩阵');
103+
it('结果正确');
104+
it('连续减法结果正确');
105+
});
106+
});

0 commit comments

Comments
 (0)