@@ -2,22 +2,60 @@ const test = require('node:test');
2
2
const assert = require ( 'assert' ) ;
3
3
const { MyClass, Student } = require ( './main' ) ;
4
4
5
+ const names = [ 'John' , 'Jane' , 'Doe' , 'Smith' ] ;
6
+
5
7
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
+ }
8
19
} ) ;
9
20
10
21
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 ) ;
13
39
} ) ;
14
40
15
41
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
+ }
18
51
} ) ;
19
52
20
53
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
+ }
23
61
} ) ;
0 commit comments