Skip to content

Commit 9e64435

Browse files
authored
Merge pull request #12 from ywChen-NTUST/312555003
[LAB1] 312555003
2 parents 2d41d26 + fd29781 commit 9e64435

File tree

1 file changed

+46
-8
lines changed

1 file changed

+46
-8
lines changed

lab1/main_test.js

Lines changed: 46 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,60 @@ const test = require('node:test');
22
const assert = require('assert');
33
const { MyClass, Student } = require('./main');
44

5+
const names = ['John', 'Jane', 'Doe', 'Smith'];
6+
57
test("Test MyClass's addStudent", () => {
6-
// TODO
7-
throw new Error("Test not implemented");
8+
let myClass = new MyClass();
9+
assert.strictEqual(myClass.students.length, 0);
10+
11+
let stdid = myClass.addStudent([]);
12+
assert.strictEqual(stdid, -1);
13+
14+
for(let i=0; i<100; i++){
15+
let stdid = myClass.addStudent(new Student());
16+
assert.strictEqual(myClass.students.length, i+1);
17+
assert.strictEqual(stdid, i);
18+
}
819
});
920

1021
test("Test MyClass's getStudentById", () => {
11-
// TODO
12-
throw new Error("Test not implemented");
22+
let myClass = new MyClass();
23+
let stdids = [];
24+
for(let i=0; i<names.length; i++){
25+
let student = new Student();
26+
student.setName(names[i]);
27+
stdids.push(myClass.addStudent(student));
28+
}
29+
30+
for(let i=0; i<names.length; i++){
31+
let student = myClass.getStudentById(stdids[i]);
32+
assert.strictEqual(student.getName(), names[i]);
33+
}
34+
35+
let student = myClass.getStudentById(-1);
36+
assert.strictEqual(student, null);
37+
let student2 = myClass.getStudentById(100);
38+
assert.strictEqual(student2, null);
1339
});
1440

1541
test("Test Student's setName", () => {
16-
// TODO
17-
throw new Error("Test not implemented");
42+
let student = new Student();
43+
44+
student.setName(123);
45+
assert.strictEqual(student.getName(), '');
46+
47+
for(let name in names){
48+
student.setName(name);
49+
assert.strictEqual(student.getName(), name);
50+
}
1851
});
1952

2053
test("Test Student's getName", () => {
21-
// TODO
22-
throw new Error("Test not implemented");
54+
let student = new Student();
55+
assert.strictEqual(student.getName(), '');
56+
57+
for(let name in names){
58+
student.setName(name);
59+
assert.strictEqual(student.getName(), name);
60+
}
2361
});

0 commit comments

Comments
 (0)