@@ -2,22 +2,44 @@ const test = require('node:test');
2
2
const assert = require ( 'assert' ) ;
3
3
const { MyClass, Student } = require ( './main' ) ;
4
4
5
- test ( "Test MyClass's addStudent" , ( ) => {
6
- // TODO
7
- throw new Error ( "Test not implemented" ) ;
8
- } ) ;
9
-
5
+ test ( "Test MyClass's addStudent" , ( ) => {
6
+ // TODO
7
+ const student = new Student ( ) ;
8
+ const myClass = new MyClass ( ) ;
9
+ student . setName ( "John" ) ;
10
+ const newStudentId = myClass . addStudent ( student ) ;
11
+ assert . strictEqual ( newStudentId , 0 , "正確" ) ;
12
+ const notstudentID = 111 ;
13
+ const newStudentId2 = myClass . addStudent ( notstudentID ) ;
14
+ assert . strictEqual ( newStudentId2 , - 1 , "錯誤" ) ;
15
+
16
+ } ) ;
10
17
test ( "Test MyClass's getStudentById" , ( ) => {
11
- // TODO
12
- throw new Error ( "Test not implemented" ) ;
18
+ // TODO
19
+ const student = new Student ( ) ;
20
+ const myClass = new MyClass ( ) ;
21
+ student . setName ( "kevin" ) ;
22
+ myClass . addStudent ( student ) ;
23
+ const newStudentName = myClass . getStudentById ( 0 ) ;
24
+ assert . strictEqual ( newStudentName . getName ( ) , "kevin" , "正確" ) ;
25
+ const newStudentName2 = myClass . getStudentById ( - 1 ) ;
26
+ assert . strictEqual ( newStudentName2 , null , "錯誤" ) ;
27
+
13
28
} ) ;
14
-
15
29
test ( "Test Student's setName" , ( ) => {
16
30
// TODO
17
- throw new Error ( "Test not implemented" ) ;
31
+ const student = new Student ( ) ;
32
+ student . setName ( "John" ) ;
33
+ assert . strictEqual ( student . getName ( ) , "John" , "正確" ) ;
34
+ student . setName ( 111 ) ;
35
+ assert . strictEqual ( student . getName ( ) , "John" , "錯誤" ) ;
36
+
18
37
} ) ;
19
-
20
38
test ( "Test Student's getName" , ( ) => {
21
39
// TODO
22
- throw new Error ( "Test not implemented" ) ;
23
- } ) ;
40
+ const student = new Student ( ) ;
41
+ assert . strictEqual ( student . getName ( ) , '' , "錯誤" ) ;
42
+ student . setName ( "John" ) ;
43
+ assert . strictEqual ( student . getName ( ) , "John" , "正確" ) ;
44
+
45
+ } ) ;
0 commit comments