@@ -2,22 +2,60 @@ const test = require('node:test');
22const assert = require ( 'assert' ) ;
33const { MyClass, Student } = require ( './main' ) ;
44
5+ const names = [ 'John' , 'Jane' , 'Doe' , 'Smith' ] ;
6+
57test ( "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
1021test ( "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
1541test ( "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
2053test ( "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